Merge lp:~geoff.bache/bzr/trunk into lp:bzr
| Status: | Merged | ||||
|---|---|---|---|---|---|
| Merge reported by: | Martin Pool | ||||
| Merged at revision: | not available | ||||
| Proposed branch: | lp:~geoff.bache/bzr/trunk | ||||
| Merge into: | lp:bzr | ||||
| Diff against target: |
571 lines (+501/-0) (has conflicts) 3 files modified
NEWS (+453/-0) bzrlib/osutils.py (+19/-0) bzrlib/tests/blackbox/test_add.py (+29/-0) Text conflict in NEWS Text conflict in bzrlib/osutils.py Text conflict in bzrlib/tests/blackbox/test_add.py |
||||
| To merge this branch: | bzr merge lp:~geoff.bache/bzr/trunk | ||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| John A Meinel | Needs Fixing on 2010-06-24 | ||
| Robert Collins (community) | Needs Information on 2010-06-24 | ||
|
Review via email:
|
|||
Commit Message
Behave better when adding symlinks or things found via symlinks.
Description of the Change
Handle 'bzr add symlink' (adds the symlink) and 'bzr add symlink/something' (adds something in the tree that something is actually contained in).
| John A Meinel (jameinel) wrote : | # |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Robert Collins wrote:
> Robert Collins has proposed merging lp:~geoff.bache/bzr/trunk into lp:bzr.
>
> Requested reviews:
> bzr-core (bzr-core)
> Related bugs:
> #183831 bzr add <symlink> follows the link
> https:/
>
>
> Handle 'bzr add symlink' (adds the symlink) and 'bzr add symlink/something' (adds something in the tree that something is actually contained in).
>
review: needsfixing
Quite a few things here.
1) It applies to a very old NEWS, before it was reformatted. So that
needs to be cleaned up and put in the new area.
2) + def test_add_
+ if not hasattr(os, "symlink"):
+ raise TestNotApplicab
We have a feature for symlinks that should be used.
3) I don't understand why this is getting added:
+ def test_add_
4) The core loop is all confused because the patch is out-of-date.
5) The core loop is calling a function that will raise an exception for
every piece of the path processed.
To do it correctly, we should probably pull 'samepath()' into osutils.
And do:
def _samefile(f1, f2):
return f1 == f2
samefile = getattr(os.path, 'samefile', _samefile)
Or something along those lines.
I don't really understand why samefile(head, base) is getting called,
nor why that would actually fix the symlink issues.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAkw
bLoAnif5CgEntdR
=3ABk
-----END PGP SIGNATURE-----
| John A Meinel (jameinel) wrote : | # |
I'll poke at this and see if I can get it cleaned up.
| Martin Pool (mbp) wrote : | # |
John merged the equivalent of this. Thanks for the branch.

Need to audit this; we've clearly got *some* code in a similar direction merged from elsewhere already.