Mercurial > ~mikael > mcabber > hg
annotate mcabber/contrib/merge_history.py @ 2223:965e0282c128
Backed out changeset fa516ef22145
Turns out that in this hash the value pointer is the same as the
key pointer, so there's no need to free both the key and the value.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 06 Nov 2015 22:31:40 +0100 |
parents | de14c419b323 |
children |
rev | line source |
---|---|
1117
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
2 # This script is provided under the terms of the GNU General Public License, |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
3 # see the file COPYING in the root mcabber source directory. |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
4 # |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
5 # Frank Zschockelt, 05.01.2007 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
6 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
7 import sys |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
8 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
9 if(len(sys.argv) != 3): |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
10 print "usage:",sys.argv[0],"histA histB > histA+B" |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
11 sys.exit(0) |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
12 file=open(sys.argv[1], "r") |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
13 linesA=file.readlines() |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
14 file.close() |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
15 file=open(sys.argv[2], "r") |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
16 linesB=file.readlines() |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
17 file.close() |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
18 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
19 i=j=0 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
20 while(i<len(linesA) and j < len(linesB)): |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
21 if(linesA[i][3:20] <= linesB[j][3:20]): |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
22 l=int(linesA[i][22:25]) |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
23 for s in linesA[i:i+l+1]: |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
24 print s, |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
25 if(linesA[i]==linesB[j]): |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
26 j+=l+1 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
27 i+=l+1 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
28 else: |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
29 l=int(linesB[j][22:25]) |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
30 for s in linesB[j:j+l+1]: |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
31 print s, |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
32 j+=l+1 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
33 |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
34 for s in linesA[i:len(linesA)]: |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
35 print s, |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
36 for s in linesB[j:len(linesB)]: |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
37 print s, |
de14c419b323
Added merge_history.py to contrib
Frank Zschockelt <jdev@freakysoft.de>
parents:
diff
changeset
|
38 |