[Svnmerge] svnmerge and externals

Blair Zajac blair at orcaware.com
Mon Nov 7 10:09:33 PST 2011


On Nov 7, 2011, at 1:32 AM, Ericsson, Lars wrote:

> Hi,
> 
> I came across a problem with svnmerge using externals.
> 
> Svnmerge uses 'svn st -q .' to determine if the working copy is clean or
> not.
> This works fine for non-external files/folder and external folders.
> 
> External files are still listed which result in svnmerge returning,
> 'svnmerge: "." has local modifications; it must be clean'
> 
> Adding --force will override problem.
> 
> Using svn version 1.7, will make this worse, since 'svn st -q .' now
> reports 
> both external files and folders.
> 
> 
> Any ideas of fixing this behavior ?

It looks like this method would need to be updated to handle the new format:

def check_dir_clean(dir):
    """Check the current status of dir for local mods."""
    if opts["force"]:
        report('skipping status check because of --force')
        return
    report('checking status of "%s"' % dir)

    # Checking with -q does not show unversioned files or external
    # directories.  Though it displays a debug message for external
    # directories, after a blank line.  So, practically, the first line
    # matters: if it's non-empty there is a modification.
    out = launchsvn("status -q %s" % dir)
    if out and out[0].strip():
        error('"%s" has local modifications; it must be clean' % dir)

If somebody supplies a patch I could commit it to the svn repository.

Regards,
Blair



More information about the Svnmerge mailing list