--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: darcs-load-dirs: crashes when importing symlinks to directories
- From: David Banks <amoebae@gmail.com>
- Date: Wed, 16 Feb 2011 07:40:28 +0000
- Message-id: <20110216074028.17077.80146.reportbug@glimworm.solasistim.net>
Package: darcs-load-dirs
Version: 1.1.8
Severity: important
Hi,
This seems strongly related to #393048, in that it is caused by darcs_load_dirs
expecting a certain exit status from darcs that it does not receive. Basically
if a directory contains a directory, and also a symlink to the same directory,
darcs will choke when trying to add both as one is already in the repository.
To reproduce:
amoe@glimworm $ mkdir source-tree
amoe@glimworm $ cd source-tree
amoe@glimworm $ mkdir Bob
amoe@glimworm $ ln -s Bob Alice
amoe@glimworm $ cd ..
amoe@glimworm $ mkdir repo
amoe@glimworm $ cd repo
amoe@glimworm $ darcs initialize
amoe@glimworm $ darcs_load_dirs -v ../source-tree
VCSCMD: darcs
Scanning upstream tree...
Scanning working copy tree...
Calculating changes...
*** Processing changes.
Deleting 0 files
Copying upstream directory to working copy...
Running: tar ['-cSpf', '-', '.']
Running: tar ['-xSpf', '-']
Adding 2 files
Adding Alice
Running: darcs ['add', '--case-ok', 'Alice']
Adding Bob/
Running: darcs ['add', '--case-ok', 'Bob']
The following directory is already in the repository:
Bob
darcs failed: No files were added
Traceback (most recent call last):
File "/usr/bin/darcs_load_dirs", line 25, in <module>
init.run("darcs")
File "/usr/lib/pymodules/python2.6/vcs_support/init.py", line 72, in run
iobj.main()
File "/usr/lib/pymodules/python2.6/vcs_support/vcs_interact.py", line 155, in main
self.catchup(needsupdate)
File "/usr/lib/pymodules/python2.6/vcs_support/vcs_interact.py", line 179, in catchup
self.addfile(file)
File "/usr/lib/pymodules/python2.6/vcs_support/vcs_interact.py", line 203, in addfile
self.wcobj.addtag(file)
File "/usr/lib/pymodules/python2.6/vcs_support/vcs_wc.py", line 86, in addtag
cmd().add + [file])
File "/usr/lib/pymodules/python2.6/vcs_support/util.py", line 110, in chdircmd
return apply(func, args, kwargs)
File "/usr/lib/pymodules/python2.6/vcs_support/util.py", line 66, in safeexec
return checkresult(result, expected)
File "/usr/lib/pymodules/python2.6/vcs_support/util.py", line 94, in checkresult
raise ExecProblem, info + " (expected exit code %d)" % expected
vcs_support.util.ExecProblem: exited with code 2 (expected exit code 0)
The alternative case, where the symlink is named Bob and the directory is named
Alice, also fails most of the time, but I have seen it work a few times, which
is very strange.
Cheers,
David
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages darcs-load-dirs depends on:
ii darcs 2.4.4-3 a distributed, interactive, smart
ii load-dirs-common 1.1.8 Common files for vcs-load-dirs too
ii python 2.6.6-3+squeeze5 interactive high-level object-orie
darcs-load-dirs recommends no packages.
darcs-load-dirs suggests no packages.
-- no debconf information
--- End Message ---