Ticket #69 (new defect)
git to darcs broken in multiple ways
| Reported by: | jgoerzen | Owned by: | lele |
|---|---|---|---|
| Priority: | major | Milestone: | VersionOne |
| Component: | git | Version: | 0.9 |
| Keywords: | Cc: | jgoerzen@… |
Description (last modified by lele) (diff)
This is with 0.9.23.
I am using tailor to convert a Linux kernel repo over to darcs.
After awhile, I see:
12:57:22 [I] [Ok]
12:57:22 [I] /home/jgoerzen/work/git2/work $ git rev-list --max-count=1 v2.6.17.7
12:57:22 [I] [Ok]
12:57:22 [I] /home/jgoerzen/work/git2/work $ git rev-list --max-count=1 v2.6.17.8
12:57:22 [I] [Ok]
12:57:22 [I] /home/jgoerzen/work/git2/work $ git rev-list --max-count=1 excel-2.6.16.27-before-backports
12:57:22 [I] [Ok]
12:57:22 [I] Updating to revision 6b9269abd64c54f11dc4aaf162d2915fccae6c77
12:57:22 [I] /home/jgoerzen/work/git2/work $ git rev-list --pretty=raw --max-count=1 6b9269abd64c54f11dc4aaf162d2915fccae6c77
12:57:22 [I] [Ok]
12:57:22 [I] /home/jgoerzen/work/git2/work $ git diff-tree --root -r -M --name-status ad6571a78ac74e9fa27e581834709067dba459af 6b9269abd64c54f11dc4aaf162d2915fccae6c77
12:57:22 [I] [Ok]
12:57:22 [C] Unable to get changes for "project"
Traceback (most recent call last):
File "/usr/bin/tailor", line 33, in ?
main()
File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 332, in main
tailorizer()
File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 144, in __call__
self.update()
File "/var/lib/python-support/python2.4/vcpx/tailor.py", line 94, in update
pendings = dwd.getPendingChangesets()
File "/var/lib/python-support/python2.4/vcpx/source.py", line 213, in getPendingChangesets
self.state_file.setPendingChangesets(changesets)
File "/var/lib/python-support/python2.4/vcpx/statefile.py", line 253, in setPendingChangesets
self._write(changesets)
File "/var/lib/python-support/python2.4/vcpx/statefile.py", line 86, in _write
for cs in changesets:
File "/var/lib/python-support/python2.4/vcpx/git.py", line 58, in _getUpstreamChangesets
yield self._changesetForRevision(rev)
File "/var/lib/python-support/python2.4/vcpx/git.py", line 122, in _changesetForRevision
e.action_kind = action_map[state[0]]
KeyError: 'C'
If I try to re-run git at this point, it will migrate a couple of changesets over, but eventually die at what appears to be a rename.
My config is:
[DEFAULT] verbose = True [project] target = darcs:target start-revision = INITIAL root-directory = /home/jgoerzen/work/git2/work state-file = tailor.state source = git:source subdir = . [git:source] repository = /home/jgoerzen/work/git2/linux-2.6 branch=master [darcs:target] repository = /home/jgoerzen/work/git2/linux-2.6-darcs
Change History
comment:1 Changed 7 years ago by lele
- Component changed from tailor to git
- Description modified (diff)
comment:3 Changed 7 years ago by lele
I looked at git documentation, and as I supposed that 'C' stands for "Copied". Given that tailor does not support COPY events, I think that the backend should convert those to ADD events, like the svn backend does.
But to fix the thing a proper description of the line emitted by "git-diff-tree" is needed.
comment:4 Changed 7 years ago by jgoerzen
Here is diff-tree output:
$ git diff-tree --root -r -M --name-status ad6571a78ac74e9fa27e581834709067dba459af 6b9269abd64c54f11dc4aaf162d2915fccae6c77 C055 include/asm-ppc64/siginfo.h include/asm-powerpc/bugs.h R085 include/asm-ppc64/mc146818rtc.h include/asm-powerpc/mc146818rtc.h A include/asm-powerpc/module.h R062 include/asm-ppc64/sembuf.h include/asm-powerpc/sembuf.h R072 include/asm-ppc64/shmbuf.h include/asm-powerpc/shmbuf.h R057 include/asm-ppc64/siginfo.h include/asm-powerpc/siginfo.h R088 include/asm-ppc64/socket.h include/asm-powerpc/socket.h R084 include/asm-ppc64/sockios.h include/asm-powerpc/sockios.h D include/asm-ppc/bugs.h D include/asm-ppc/mc146818rtc.h D include/asm-ppc/module.h D include/asm-ppc/sembuf.h D include/asm-ppc/shmbuf.h D include/asm-ppc/siginfo.h D include/asm-ppc/socket.h D include/asm-ppc/sockios.h D include/asm-ppc64/bugs.h D include/asm-ppc64/module.h
Note: See
TracTickets for help on using
tickets.

Fixed markup.