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

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

[Bug-gnu-arch] [bug #5919] multi-path revision libraries and new hook "c


From: nobody
Subject: [Bug-gnu-arch] [bug #5919] multi-path revision libraries and new hook "cached-revision"
Date: Mon, 17 Nov 2003 00:24:04 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5a) Gecko/20031010 Mozilla Firebird/0.6.1 StumbleUpon/1.76

=================== BUG #5919: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5919&group_id=4899

Changes by: Robert Collins <address@hidden>
Date: Mon 11/17/2003 at 05:24 (GMT)

------------------ Additional Follow-up Comments ----------------------------
Ah, I can't usefully work on this until the hard link stuff is merged in, as 
it's dependent on it - I don't have time to redo it separately. I will review 
when the hardlink stuff is in. As far as doco goes, thats low priority just now 
- if you have time to hack on anything, do up the verification stuff for the 
hard link trees.



=================== BUG #5919: FULL BUG SNAPSHOT ===================


Submitted by: paulinux                Project: GNU arch -- a revision control 
system
Submitted on: Mon 10/13/2003 at 15:51
Category:  tla                        Severity:  5 - Major                  
Bug Group:  small feature idea        Resolution:  None                     
Status:  Open                         Release:  tla--devo--1.1              
Fixed Release:                        Merge Request?:  yes -- merge from my 
archive
Your Archive Name:  address@hidden/tla--devo--1.1Your Archive Location:         
       
Assigned to:  None                    

Summary:  multi-path revision libraries and new hook "cached-revision"

Original Submission:  As discussed, as a first step to farewell the inefficient 
pristine trees, we needed multi-path revision libraries and a way to create 
them on demand in an ad-hoc directory.



With sparse revision libraries and the possibility of specifying a path for the 
library commands, the only part missing was how to create and retrieve the 
revision form the desired tree. My choice has been to:

-add a way to exchange information with the hook script via fd 3; the hook 
script can return whatever it need via this fd and the hooks can use as they 
need or just ignore it.

-create a `cached-revision' hook that uses this information to look in the 
returned path for the revision, instead of the default library.



This is implemented in:

address@hidden/tla--devo--1.1--patch-7

address@hidden/tla--devo--1.1--patch-8



A complete description will be posted to the arch-users list.

Follow-up Comments
*******************

-------------------------------------------------------
Date: Mon 11/17/2003 at 05:24       By: robertc
Ah, I can't usefully work on this until the hard link stuff is merged in, as 
it's dependent on it - I don't have time to redo it separately. I will review 
when the hardlink stuff is in. As far as doco goes, thats low priority just now 
- if you have time to hack on anything, do up the verification stuff for the 
hard link trees.

-------------------------------------------------------
Date: Thu 11/13/2003 at 07:05       By: paulinux
http://arch.newtral.org/{archives}/arch-2003



Again, if it is accepted, I'll add the necessary documentation.

-------------------------------------------------------
Date: Sat 11/08/2003 at 11:21       By: robertc
Uhm, your archive location is an essential component to be able to pull your 
patches. I'd like to review this for you....



-------------------------------------------------------
Date: Wed 10/22/2003 at 21:16       By: paulinux
Add final corrections:

address@hidden/tla--devo--1.1--patch-9

address@hidden/tla--devo--1.1--patch-10



The final hook name is `find-cached-revision'. An example of hook script 
follows:



...

case $1 in

...

find-cached-revision)

        # echo "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION" | mail pau 
-s "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION"

        # tla library-add $ARCH_ARCHIVE/$ARCH_REVISION

        tla library-add -d ~/.arch-cache $ARCH_ARCHIVE/$ARCH_REVISION

        echo -n "~/.arch-cache" 1>&3

        break

        ;;



esac



You can add a library in the hook, in the default revision library or in an 
alterante one and return the path to it using file descriptor 3.



If you always add a revision to the library, a pristine-tree is never generated 
because entries in libraries are searched for before. You save space because 
you share hard links and... if you get -l your tree, operation is almost 
instantaneous because you don't copy anything. Lightening fast.



It's working flawlessly for me.

-------------------------------------------------------
Date: Wed 10/22/2003 at 21:16       By: paulinux
Add final corrections:

address@hidden/tla--devo--1.1--patch-9

address@hidden/tla--devo--1.1--patch-10



The final hook name is `find-cached-revision'. An example of hook script 
follows:



...

case $1 in

...

find-cached-revision)

        # echo "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION" | mail pau 
-s "find-cached-revision $ARCH_ARCHIVE/$ARCH_REVISION"

        # tla library-add $ARCH_ARCHIVE/$ARCH_REVISION

        tla library-add -d ~/.arch-cache $ARCH_ARCHIVE/$ARCH_REVISION

        echo -n "~/.arch-cache" 1>&3

        break

        ;;



esac



You can add a library in the hook, in the default revision library or in an 
alterante one and return the path to it using file descriptor 3.



If you always add a revision to the library, a pristine-tree is never generated 
because entries in libraries are searched for before. You save space because 
you share hard links and... if you get -l your tree, operation is almost 
instantaneous because you don't copy anything. Lightening fast.



It's working flawlessly for me.


CC List
*******

CC Address                          | Comment
------------------------------------+-----------------------------
address@hidden             | 



No files currently attached


For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5919&group_id=4899

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

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