Thu May 25 16:17:34 PDT 2006  Brendan Cully <[EMAIL PROTECTED]>
  * git source: Detect conflicts
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


New patches:

[git source: Detect conflicts
Brendan Cully <[EMAIL PROTECTED]>**20060525231734] {
hunk ./vcpx/git.py 61
- -        self._tryCommand(['merge', '-n', '--no-commit', 'fastforward', 'HEAD', changeset.revision],
- -                         ChangesetApplicationFailure, False)
+        out = self._tryCommand(['merge', '-n', '--no-commit', 'fastforward',
+                                'HEAD', changeset.revision],
+                         ChangesetApplicationFailure)
hunk ./vcpx/git.py 65
- -        # Does not handle conflicts
- -        return None
+        conflicts = []
+        for line in out:
+            if line.endswith(': needs update'):
+                conflicts.append(line[:-14])
+
+        if conflicts:
+            self.log.warning("Conflict after 'git merge': %s", ' '.join(conflicts))
+
+        return conflicts
}

Context:

[Don't propagate deletions with rsync
[EMAIL PROTECTED] 
[Don't reorder darcs hunks and collapse rename+delete
[EMAIL PROTECTED] 
[Print the file names if rename() fails
[EMAIL PROTECTED] 
[Synthesize missing parent directories when adding files to CVS
Brendan Cully <[EMAIL PROTECTED]>**20060525221847
 
 This does for adds what target._renameEntries does for renames. This code
 is only for the CVS module; perhaps it should be relocated to target. But
 I don't understand why target is doing the parent creation anyway - for
 instance it is unnecessary for git and hg. They could override, but there's
 also some replace logic in that routine that they'd have to reimplement.
] 
[Turn off keyword substitution when adding files to CVS targets
Brendan Cully <[EMAIL PROTECTED]>**20060525214211
 
 Since the repository is being converted, keyword substitution can only be
 unintentional. This reduces the danger of false merge conflicts due to
 the target modifying files in the working dir on check-in.
] 
[git source: add -r to git diff-tree, to detect renames across directories
Brendan Cully <[EMAIL PROTECTED]>**20060525192459] 
[git source: use git merge for applyChangeset
Brendan Cully <[EMAIL PROTECTED]>**20060525190535
 
 This is a higher-level way to fast-forward across changesets. It should be more
 resilient to git changes (it would not have suffered from the last two bugs I
 found in this routine).
] 
[git source: remove old name of renamed files when applying a changeset
Brendan Cully <[EMAIL PROTECTED]>**20060525183036
 
 Otherwise CVS complains when it attempts to execute cvs remove. I should
 investigate using git-pull instead of git-checkout, but this is the minimal fix.
] 
[update git refs/heads/master, not HEAD, when applying a changeset
Brendan Cully <[EMAIL PROTECTED]>**20060523172632
 
 In recent versions of git the format of the HEAD file changed from a direct
 pointer to a commit to an indirection through the 'master' branch. This
 keeps tailor up-to-date.
] 
[Test against buggy darcs patch that adds and removes the same file
[EMAIL PROTECTED] 
[Recognize patch hash as darcs start-revision
[EMAIL PROTECTED]
 Now it's possible to specify a specific patch hash instead of only a tag
 name: tailor will use `darcs get --to-match` to fetch the first version
 at bootstrap time.
] 
[Don't necessarily remove an empty directory
[EMAIL PROTECTED]
 Fix `CvspsWorkingDir.__maybeDeleteDirectory()` so that it does
 not remove the directory when the same changeset adds other entries
 to it. This fixes #49.
] 
[Fix the glitch reported by #50: global name 'err' is not defined
[EMAIL PROTECTED] 
[Forgot to change one variable
[EMAIL PROTECTED] 
[Remove whitespace from email address in bzr revision ids (closes #48).
[EMAIL PROTECTED] 
[speling fix
Brendan Cully <[EMAIL PROTECTED]>**20060511231132] 
[git source: handle copy from one source to many targets
Brendan Cully <[EMAIL PROTECTED]>**20060511230816
 
 A file can be copied to several targets in one commit. tailor
 doesn't know about copies, so we file them as multiple renames for
 now. This may confuse targets that very reasonably only accept a
 single rename, but the alternative throws away file history.
] 
[git source: allow updates across branches
Brendan Cully <[EMAIL PROTECTED]>**20060511230518
 
 Updating from revision x to revision x+1 can cross branches that
 won't be merged until later. repo.update won't allow this without
 the force option. We don't always set force, in case the user has
 (mistakenly) edited the working directory directly. Instead,
 if plain update fails we check for dirstate modifications and
 update with force if there are none.
] 
[git target: don't choke on empty commit messages
Brendan Cully <[EMAIL PROTECTED]>**20060511230227] 
[Skip pointless checkout after clone in hg source
Brendan Cully <[EMAIL PROTECTED]>**20060511215757] 
[Emit a warning message whenever the SVN backend skips a file out of scope
[EMAIL PROTECTED] 
[Simple tests for basic CVS revision numbers handling
[EMAIL PROTECTED] 
[Adjust the source repository of one test
[EMAIL PROTECTED] 
[Test for CVS tag-entries configuration
[EMAIL PROTECTED] 
[Emit some noise when forcing CVS sticky tag
[EMAIL PROTECTED] 
[Use a different extension for the old version of CVS/Entries
[EMAIL PROTECTED]
 When forcing a sticky tag on each CVS entry, use '.tailor-old' instead
 of simply '.old' to avoid name clashes, as CVS sometime leaves that
 itself. Also, remove the old copy when done.
] 
[Rename entries to names in bzr backend
[EMAIL PROTECTED]
 
 Entries refer to ChangesetEntry, but here it's just an array of filenames.
] 
[Spell fix: it's synchronize, not syncronize
[EMAIL PROTECTED] 
[Better docstrings in bzr.py
[EMAIL PROTECTED] 
[Fixes for bzr 0.8 release
[EMAIL PROTECTED]
 
 Use create_branch_convenience from bzrlib to create a branch. Allow for the
 root-directory to be part of a shared repository, so it can share history with
 other branches.
 
 No need to store the bzrlib objects bzrdir and branch inside BzrWorkingDir.
 All operations should happen through the workingtree object.
 
 Renamed some variables to make their intent more clear.
] 
[Remove final slash from svn repository
[EMAIL PROTECTED] 
[Query hg for default options
Brendan Cully <[EMAIL PROTECTED]>**20060503210511
 
 hg looks up command options from the argument without trapping
 KeyError. So whenever an option is added to an hg command, tailor
 backtraces until it's been taught to pass in the new option. This
 patch queries hg for the set of options for all commands, which
 should provide some protection against this particular problem.
] 
[hglib.py -> hg.py implies HglibWorkingDir -> HgWorkingDir
Brendan Cully <[EMAIL PROTECTED]>**20060503210444] 
[TAG Version 0.9.22
[EMAIL PROTECTED] 
Patch bundle hash:
14e0c921c6be2ce75994dc553ea57e38acfff875
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFEdjv2IigsijWFMDIRAgneAJwIxQbDvm38tpnFuLPWc7RI5S5P4wCgsQmp
BKOKW7x66hF5myXsLA+amAk=
=hCfN
-----END PGP SIGNATURE-----
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to