gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] Conflict files in {arch}


From: Yann Droneaud
Subject: Re: [Gnu-arch-users] Conflict files in {arch}
Date: 14 Sep 2004 00:15:46 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Yann Droneaud wrote:

> Sounds more like a bug now.

The conflicts files in {arch} show odd behavior
with the revision library.

I'm not sure where's a bug (perhaps in the user),
but if someone could sort this out, here is the full report:

address@hidden:/tmp/test/test $ tla archive-setup address@hidden/test--main--1.0
* creating category address@hidden/test
* creating branch address@hidden/test--main
* creating version address@hidden/test--main--1.0

address@hidden:/tmp/test/test $ tla init-tree address@hidden/test--main--1.0
address@hidden:/tmp/test/test $ cat > README
a README
address@hidden:/tmp/test/test $ tla changelog > ChangeLog
address@hidden:/tmp/test/test $ ls
ChangeLog  README  {arch}/
address@hidden:/tmp/test/test $ tla add ChangeLog  README  

address@hidden:/tmp/test/test $ tla import -s "Imported"
* imported address@hidden/test--main--1.0


#
# now create the conflict in {arch}
#

address@hidden:/tmp/test/test $ vim \{arch\}/\=tagging-method 
address@hidden:/tmp/test/test $ tla changes
* looking for address@hidden/test--main--1.0--base-0 to compare with
* auto-adding address@hidden/test--main--1.0--base-0 to greedy revision library 
/home/meuh/var/arch/rev-lib
* from import revision: address@hidden/test--main--1.0--base-0
* comparing to address@hidden/test--main--1.0--base-0
M  {arch}/=tagging-method
address@hidden:/tmp/test/test $ tla undo 
* linting the source tree
* reverting changes
M   {arch}/=tagging-method
address@hidden:/tmp/test/test $ tla changes
* looking for address@hidden/test--main--1.0--base-0 to compare with
* comparing to address@hidden/test--main--1.0--base-0
address@hidden:/tmp/test/test $ tla apply-changeset ,,undo-1/ .
M   {arch}/=tagging-method
address@hidden:/tmp/test/test $ tla changes
* looking for address@hidden/test--main--1.0--base-0 to compare with
* comparing to address@hidden/test--main--1.0--base-0
M  {arch}/=tagging-method
address@hidden:/tmp/test/test $ tla apply-changeset ,,undo-1/ .
apply-changeset: conflicts occured
C   {arch}/=tagging-method
address@hidden:/tmp/test/test $ tla changes
* looking for address@hidden/test--main--1.0--base-0 to compare with
* comparing to address@hidden/test--main--1.0--base-0
A  {arch}/=tagging-method.orig
A  {arch}/=tagging-method.rej
M  {arch}/=tagging-method

#
# doing the first commit with the conflict
# the conflict files are seen as added by commit
# and the changeset add them
# but there are not reported as add in the patch-log
#

address@hidden:/tmp/test/test $ tla tree-lint
address@hidden:/tmp/test/test $ tla commit -s "First commit" 
A  {arch}/=tagging-method.orig
A  {arch}/=tagging-method.rej
M  {arch}/=tagging-method
* committed address@hidden/test--main--1.0--patch-1

address@hidden:/tmp/test/test $ tar tzf 
/tmp/test/arch/test/test--main/test--main--1.0/patch-1/test--main--1.0--patch-1.patches.tar.gz
 
test--main--1.0--patch-1.patches/
test--main--1.0--patch-1.patches/patches/
test--main--1.0--patch-1.patches/patches/{arch}/
test--main--1.0--patch-1.patches/patches/{arch}/=tagging-method.patch
test--main--1.0--patch-1.patches/patches/ChangeLog.patch
test--main--1.0--patch-1.patches/original-only-dir-metadata
test--main--1.0--patch-1.patches/mod-files-index
test--main--1.0--patch-1.patches/mod-dirs-index
test--main--1.0--patch-1.patches/modified-only-dir-metadata
test--main--1.0--patch-1.patches/removed-files-archive/
test--main--1.0--patch-1.patches/new-files-archive/
test--main--1.0--patch-1.patches/new-files-archive/{arch}/
test--main--1.0--patch-1.patches/new-files-archive/{arch}/=tagging-method.orig
test--main--1.0--patch-1.patches/new-files-archive/{arch}/=tagging-method.rej
test--main--1.0--patch-1.patches/new-files-archive/{arch}/test/
test--main--1.0--patch-1.patches/new-files-archive/{arch}/test/test--main/
test--main--1.0--patch-1.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/
test--main--1.0--patch-1.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/
test--main--1.0--patch-1.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/patch-log/
test--main--1.0--patch-1.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/patch-log/patch-1
test--main--1.0--patch-1.patches/orig-dirs-index
test--main--1.0--patch-1.patches/orig-files-index

address@hidden:/tmp/test/test $ tla cat-log patch-1
Revision: test--main--1.0--patch-1
Archive: address@hidden
Creator: Yann Droneaud <address@hidden>
Date: Mon Sep 13 23:31:58 CEST 2004
Standard-date: 2004-09-13 21:31:58 GMT
Modified-files: ChangeLog {arch}/=tagging-method
New-patches: address@hidden/test--main--1.0--patch-1
Summary: First commit
Keywords: 

#
# check for changes (and build the revision in the rev-lib)
# tla changes consider the conflict file as not added to the 
# previous revision: the revision was not built correctly
# since there's a +removed-conflicts-files directory 
# holding the conflict files (and there are not in {arch}
#

address@hidden:/tmp/test/test $ tla changes
* looking for address@hidden/test--main--1.0--patch-1 to compare with
* auto-adding address@hidden/test--main--1.0--patch-1 to greedy revision 
library /home/meuh/var/arch/rev-lib
* found immediate ancestor revision in library 
(address@hidden/test--main--1.0--base-0)
* patching for this revision (address@hidden/test--main--1.0--patch-1)
* comparing to address@hidden/test--main--1.0--patch-1
A  {arch}/=tagging-method.orig
A  {arch}/=tagging-method.rej

address@hidden:/tmp/test/test $ ls -al 
/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-1/{,\{arch\},+removed-conflict-files.1095111122.6264.7/\{arch\}/}
  
/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-1/:
total 40
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:32 
+removed-conflict-files.1095111122.6264.7/
-r--r--r--  1 meuh meuh 1242 Sep 13 23:32 ,,index
-r--r--r--  1 meuh meuh 1242 Sep 13 23:32 ,,index-by-name
drwxr-xr-x  5 meuh meuh 4096 Sep 13 23:32 ,,patch-set/
drwxr-xr-x  6 meuh meuh 4096 Sep 13 23:32 ./
drwxr-xr-x  4 meuh meuh 4096 Sep 13 23:32 ../
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:32 .arch-ids/
-rw-r--r--  1 meuh meuh  519 Sep 13 23:32 ChangeLog
-rw-r--r--  2 meuh meuh    9 Sep 13 23:29 README
drwxr-xr-x  4 meuh meuh 4096 Sep 13 23:32 {arch}/

/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-1/+removed-conflict-files.1095111122.6264.7/{arch}/:
total 20
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:32 ./
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:32 ../
-rw-r--r--  1 meuh meuh 6815 Sep 13 23:32 =tagging-method.orig
-rw-r--r--  1 meuh meuh  580 Sep 13 23:32 =tagging-method.rej

/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-1/{arch}:
total 32
-rw-r--r--  2 meuh meuh   37 Sep 13 23:32 ++default-version
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:32 ,,inode-sigs/
drwxr-xr-x  4 meuh meuh 4096 Sep 13 23:32 ./
drwxr-xr-x  6 meuh meuh 4096 Sep 13 23:32 ../
-rw-r--r--  2 meuh meuh   52 Sep 13 23:29 .arch-project-tree
-rw-r--r--  1 meuh meuh 6815 Sep 13 23:32 =tagging-method
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:32 test/


#
# Make another commit
# still no conflict files in the patch-log
# but they are added a second time
#

address@hidden:/tmp/test/test $ tla commit -s "Second commit" 
A  {arch}/=tagging-method.orig
A  {arch}/=tagging-method.rej
* committed address@hidden/test--main--1.0--patch-2

address@hidden:/tmp/test/test $ tla cat-log patch-2
Revision: test--main--1.0--patch-2
Archive: address@hidden
Creator: Yann Droneaud <address@hidden>
Date: Mon Sep 13 23:39:13 CEST 2004
Standard-date: 2004-09-13 21:39:13 GMT
Modified-files: ChangeLog
New-patches: address@hidden/test--main--1.0--patch-2
Summary: Second commit
Keywords: 

address@hidden:/tmp/test/test $ tar tzf 
/tmp/test/arch/test/test--main/test--main--1.0/patch-2/test--main--1.0--patch-2.patches.tar.gz
 
test--main--1.0--patch-2.patches/
test--main--1.0--patch-2.patches/patches/
test--main--1.0--patch-2.patches/patches/ChangeLog.patch
test--main--1.0--patch-2.patches/original-only-dir-metadata
test--main--1.0--patch-2.patches/mod-files-index
test--main--1.0--patch-2.patches/mod-dirs-index
test--main--1.0--patch-2.patches/modified-only-dir-metadata
test--main--1.0--patch-2.patches/removed-files-archive/
test--main--1.0--patch-2.patches/new-files-archive/
test--main--1.0--patch-2.patches/new-files-archive/{arch}/
test--main--1.0--patch-2.patches/new-files-archive/{arch}/=tagging-method.orig
test--main--1.0--patch-2.patches/new-files-archive/{arch}/=tagging-method.rej
test--main--1.0--patch-2.patches/new-files-archive/{arch}/test/
test--main--1.0--patch-2.patches/new-files-archive/{arch}/test/test--main/
test--main--1.0--patch-2.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/
test--main--1.0--patch-2.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/
test--main--1.0--patch-2.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/patch-log/
test--main--1.0--patch-2.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/patch-log/patch-2
test--main--1.0--patch-2.patches/orig-dirs-index
test--main--1.0--patch-2.patches/orig-files-index

#
# check for changes (and build the new revision)
# Here, the conflict files are added to {arch} 
# and still present in a +remove-conflict-files.
# Now the conflict file are really added to the archive
# and tla changes report no changes
#

address@hidden:/tmp/test/test $ tla changes
* looking for address@hidden/test--main--1.0--patch-2 to compare with
* auto-adding address@hidden/test--main--1.0--patch-2 to greedy revision 
library /home/meuh/var/arch/rev-lib
* found immediate ancestor revision in library 
(address@hidden/test--main--1.0--patch-1)
* patching for this revision (address@hidden/test--main--1.0--patch-2)
* comparing to address@hidden/test--main--1.0--patch-2

(no changes)

address@hidden:/tmp/test/test $ ls -al 
/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-2/{,\{arch\},+removed-conflict-files.1095111122.6264.7/\{arch\}/}
 
/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-2/:
total 40
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:40 
+removed-conflict-files.1095111122.6264.7/
-r--r--r--  1 meuh meuh 1526 Sep 13 23:40 ,,index
-r--r--r--  1 meuh meuh 1526 Sep 13 23:40 ,,index-by-name
drwxr-xr-x  5 meuh meuh 4096 Sep 13 23:40 ,,patch-set/
drwxr-xr-x  6 meuh meuh 4096 Sep 13 23:40 ./
drwxr-xr-x  5 meuh meuh 4096 Sep 13 23:40 ../
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:40 .arch-ids/
-rw-r--r--  1 meuh meuh  704 Sep 13 23:40 ChangeLog
-rw-r--r--  3 meuh meuh    9 Sep 13 23:29 README
drwxr-xr-x  4 meuh meuh 4096 Sep 13 23:40 {arch}/

/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-2/+removed-conflict-files.1095111122.6264.7/{arch}/:
total 20
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:40 ./
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:40 ../
-rw-r--r--  2 meuh meuh 6815 Sep 13 23:32 =tagging-method.orig
-rw-r--r--  2 meuh meuh  580 Sep 13 23:32 =tagging-method.rej

/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-2/{arch}:
total 44
-rw-r--r--  3 meuh meuh   37 Sep 13 23:40 ++default-version
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:40 ,,inode-sigs/
drwxr-xr-x  4 meuh meuh 4096 Sep 13 23:40 ./
drwxr-xr-x  6 meuh meuh 4096 Sep 13 23:40 ../
-rw-r--r--  3 meuh meuh   52 Sep 13 23:29 .arch-project-tree
-rw-r--r--  2 meuh meuh 6815 Sep 13 23:32 =tagging-method
-rw-r--r--  1 meuh meuh 6815 Sep 13 23:40 =tagging-method.orig
-rw-r--r--  1 meuh meuh  580 Sep 13 23:40 =tagging-method.rej
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:40 test/

#
# A third commit to check the revision library
#

address@hidden:/tmp/test/test $ tla commit -s "Third commit" 
* committed address@hidden/test--main--1.0--patch-3

address@hidden:/tmp/test/test $ tla cat-log patch-3
Revision: test--main--1.0--patch-3
Archive: address@hidden
Creator: Yann Droneaud <address@hidden>
Date: Mon Sep 13 23:41:34 CEST 2004
Standard-date: 2004-09-13 21:41:34 GMT
Modified-files: ChangeLog
New-patches: address@hidden/test--main--1.0--patch-3
Summary: Third commit
Keywords: 

address@hidden:/tmp/test/test $ tar tzf 
/tmp/test/arch/test/test--main/test--main--1.0/patch-3/test--main--1.0--patch-3.patches.tar.gz
 
test--main--1.0--patch-3.patches/
test--main--1.0--patch-3.patches/patches/
test--main--1.0--patch-3.patches/patches/ChangeLog.patch
test--main--1.0--patch-3.patches/original-only-dir-metadata
test--main--1.0--patch-3.patches/mod-files-index
test--main--1.0--patch-3.patches/mod-dirs-index
test--main--1.0--patch-3.patches/modified-only-dir-metadata
test--main--1.0--patch-3.patches/removed-files-archive/
test--main--1.0--patch-3.patches/new-files-archive/
test--main--1.0--patch-3.patches/new-files-archive/{arch}/
test--main--1.0--patch-3.patches/new-files-archive/{arch}/test/
test--main--1.0--patch-3.patches/new-files-archive/{arch}/test/test--main/
test--main--1.0--patch-3.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/
test--main--1.0--patch-3.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/
test--main--1.0--patch-3.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/patch-log/
test--main--1.0--patch-3.patches/new-files-archive/{arch}/test/test--main/test--main--1.0/address@hidden/patch-log/patch-3
test--main--1.0--patch-3.patches/orig-dirs-index
test--main--1.0--patch-3.patches/orig-files-index

#
# New revision in the revision library, but still the +removed-conflict-files
#

address@hidden:/tmp/test/test $ tla changes
* looking for address@hidden/test--main--1.0--patch-3 to compare with
* auto-adding address@hidden/test--main--1.0--patch-3 to greedy revision 
library /home/meuh/var/arch/rev-lib
* found immediate ancestor revision in library 
(address@hidden/test--main--1.0--patch-2)
* patching for this revision (address@hidden/test--main--1.0--patch-3)
* comparing to address@hidden/test--main--1.0--patch-3

address@hidden:/tmp/test/test $ ls -al 
/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-3/{,\{arch\},+removed-conflict-files.1095111122.6264.7/\{arch\}/}
 
/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-3/:
total 40
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:42 
+removed-conflict-files.1095111122.6264.7/
-r--r--r--  1 meuh meuh 1688 Sep 13 23:42 ,,index
-r--r--r--  1 meuh meuh 1688 Sep 13 23:42 ,,index-by-name
drwxr-xr-x  5 meuh meuh 4096 Sep 13 23:42 ,,patch-set/
drwxr-xr-x  6 meuh meuh 4096 Sep 13 23:42 ./
drwxr-xr-x  6 meuh meuh 4096 Sep 13 23:42 ../
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:42 .arch-ids/
-rw-r--r--  1 meuh meuh  888 Sep 13 23:42 ChangeLog
-rw-r--r--  4 meuh meuh    9 Sep 13 23:29 README
drwxr-xr-x  4 meuh meuh 4096 Sep 13 23:42 {arch}/

/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-3/+removed-conflict-files.1095111122.6264.7/{arch}/:
total 20
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:42 ./
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:42 ../
-rw-r--r--  3 meuh meuh 6815 Sep 13 23:32 =tagging-method.orig
-rw-r--r--  3 meuh meuh  580 Sep 13 23:32 =tagging-method.rej

/home/meuh/var/arch/rev-lib/address@hidden/test/test--main/test--main--1.0/test--main--1.0--patch-3/{arch}:
total 44
-rw-r--r--  4 meuh meuh   37 Sep 13 23:42 ++default-version
drwxr-xr-x  2 meuh meuh 4096 Sep 13 23:42 ,,inode-sigs/
drwxr-xr-x  4 meuh meuh 4096 Sep 13 23:42 ./
drwxr-xr-x  6 meuh meuh 4096 Sep 13 23:42 ../
-rw-r--r--  4 meuh meuh   52 Sep 13 23:29 .arch-project-tree
-rw-r--r--  3 meuh meuh 6815 Sep 13 23:32 =tagging-method
-rw-r--r--  2 meuh meuh 6815 Sep 13 23:40 =tagging-method.orig
-rw-r--r--  2 meuh meuh  580 Sep 13 23:40 =tagging-method.rej
drwxr-xr-x  3 meuh meuh 4096 Sep 13 23:42 test/

So there is probably something to do in the revision library builder
(only if it doesn't use replay/update or another other library
function) and/or in the tree-lint function.

Sure it's really a subtle problem, i only hope it doesn't hide something
bigger.

Regards

-- 
Yann Droneaud (aka Meuh) <address@hidden>
http://meuh.org/ | http://sherkan.tuxfamily.net/~meuh/
Une vache perdue sur Internet | A cow lost in the Internet
1024D/BEA43321   5D91 B5B0 5137 B8FE 6882  FE19 CAA0 6F05 BEA4 3321




reply via email to

[Prev in Thread] Current Thread [Next in Thread]