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

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

Re: [Gnu-arch-users] Re: Creating a diif (-uN) from two revisions


From: Esben Mose Hansen
Subject: Re: [Gnu-arch-users] Re: Creating a diif (-uN) from two revisions
Date: Sun, 24 Oct 2004 19:05:39 +0200
User-agent: KMail/1.7

On Sunday 24 October, 2004 18:30, Matthieu Moy wrote:
> Esben Mose Hansen <address@hidden> writes:
> > (1) tla get revision1
> > (2) tla get revision2
> >
> > (3) delete arch-files
> >
> > (4) diff -uN revision1 revision2 > patchfile
>
> Isn't "tla delta" what you're looking for ?

Thank you for the suggestion :-D

Unfortunately, I do not see a way to this with tla delta.

Here's an example where a new file "history.cpp" has been added. I see two 
ways to attempt to create the patch, which is detail below, and how the go 
wrong. Bear with me, I tried to explain briefly in my previous post.

 I ran these two commands (the grep is just to reduce the output this 
demonstration)

tla delta klipper--mainline--0--patch-2 klipper--history-refactor--0--patch-9
tla show-changeset --diffs ,,delta.1098636448.23983.1 | grep -C3 history.cpp

That got me this:

* added files

    .arch-ids/history.cpp.id
    .arch-ids/history.h.id
    .arch-ids/historyitem.cpp.id
    .arch-ids/historyitem.h.id
--
    .arch-ids/historystringitem.h.id
    .arch-ids/klipperpopup.cpp.id
    .arch-ids/klipperpopup.h.id
    history.cpp
    history.h
    historyitem.cpp
    historyitem.h
--
 libklipper_common_la_LIBADD = $(LIB_KDEUI) $(LIB_KSYCOCA)
 libklipper_common_la_SOURCES = main.cpp toplevel.cpp urlgrabber.cpp 
configdialog.cpp \
-    toplevel.skel clipboardpoll.cpp
+    toplevel.skel clipboardpoll.cpp history.cpp historyitem.cpp 
historystringitem.cpp klipperpopup.cpp

 libklipper_common_la_METASOURCES = AUTO
 libklipper_common_la_LDFLAGS = $(all_libraries)

This is useless, because
* The format does not conform to a difference file
* much of arch internal bookkeeping has been included in the report
* the history.cpp is not included in the report.

Instead of using show-changeset I could follow these steps
* concatenate the files in  ,,delta.1098636448.23983.1/patches
 * handle subdirs, but ignore {arch} 
* create diffs from new-files-archive and remove-files-archive
 * again, handle subdirs correctly.

I find this process slightly worse than the original approach.

I suppose a could write a (perl)-script to create such a diff using any of the 
three approaches, but ---  Is there no better way? 

-- 
regards. Esben




reply via email to

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