1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
Plugins:
bzr plugins - list
bzr help commands | grep <plugin> - list supported commands
Install to:
/usr/lib/python2.4/site-packages/bzrlib/plugins
Frontends:
bzr viz - [gtk]
bzr qlog - [qt, better]
olive-gtk
Initializing:
bzr whoami "John Doe <john.doe@gmail.com>"
Initializing repo:
Remote repo:
bzr init-repo sftp://dside.dyndns.org/home/csa/.bazaar/adei
bzr init sftp://dside.dyndns.org/home/csa/.bazaar/adei/trunk
Local directory:
bzr init
bzr add (adding files)
Pushing first revision to remote:
bzr push sftp://dside.dyndns.org/home/csa/.bazaar/adei/trunk
Binding for automatic updates:
bzr bind sftp://dside.dyndns.org/home/csa/.bazaar/adei/trunk/
Adding/Removing files:
bzr add - automatic
bzr add --dry-run - list files which will be added automatically
bzr add <file|directory> - force
bzr remove [ --keep | --force ] <file.c> - force forces physical deletion
bzr ignored - list of ignored files
Information on Revisions / ChangeLogs:
bzr log --short - info about current revision
bzr log -r 1 - info on specified revision
bzr log -r <1..100|..100|1..> - info on revision subset
bzr log <file> - info on specified file
bzr log --log-format=gnu - GNU format
bzr annotate <file> - who changed file
bzr cat -r 100 <file> - print old version of file
Reviewing Changes:
bzr status - what is changed
bzr diff - diffs
bzr diff -r 1000..1100 - changes from r1000 to r1100
bzr diff -r 1000.. - everything since r1000
bzr diff -r tag:version-0-1 - diff with specified tagged revision
bzr lessdiff - colorized output with less
bzr qdiff/gdiff - QT/GTK
Commits:
bzr commit -m "Message"
bzr commit -F <file> - get commit message from file
bzr commit <file.c> - commit single file
bzr commit . - commit current directory
bzr uncommit - cancel last commit / pull, no changes in local dir
bzr uncommit -r -3 - uncommit last 3 commits
bzr revert [file] - revert file/tree to last commit
bzr revert -r 20 - revert tree to specified revision
Tagging:
bzr tag version-0-1
bzr tag 2.0-beta-1 --force - 'force' could move tag to a new place
bzr tag 2.0-beta-4 --delete - removing tag
Branching/Checking out:
Checkout - if central/parent repository exists.
Branch - completely standalone branch, which we will synchronzie with pull
Bind/Unbind - converting between this modes
Binding to parent branch (synchronous updates)
bzr bind sftp://dside.dyndns.org/home/csa/.bazaar/adei/trunk/
bzr unbind
Getting Sources:
bzr branch http://dside.dyndns.org/bzr/adei/trunk/ [dirname]
bzr checkout http://dside.dyndns.org/bzr/adei/trunk/ [dirname]
Checkout without history:
bzr checkout --lightweight http://dside.dyndns.org/bzr/adei/trunk/ [dirname]
Updating:
bzr update
Local commits (not propogating to central server)
bzr commit --local
Merging:
bzr merge [URL] - incorporate changes from another branch
bzr conflicts - list merge conflicts
bzr extmerge [file] - resolve conflicts using configured tool
bzr resolve [file] - mark [all|single] conflicts resolved
Different merge algorithms: criss-cross (look docs)
bzr merge -c X foo - Merge only changes in revision X from branch foo
bzr merge -r X foo - Merge only changes up to revision X from branch foo
bzr merge -r X..Y foo - Merge only changes beetwen revisions X and Y
if X>Y, the specified revisions are reverted
Rebasing:
making it look like the current branch originated from a different point
than it did. The first step identifies the revisions that are in the current
branch that are not in the parent branch. The current branch is then set to
be at the same revision as the target branch, and each revision is replayed
on top of the branch. At the end of the process it will appear as though your
current branch was branched off the current last revision of the target.
bzr rebase <URL>
bzr rebase-continue - continue after fixing conflicts
bzr rebase-todo - lists what still should be done
Push/Pull style coloboration:
mirror branch:
bzr branch sftp://centralhost/srv/bzr/X-repo/X-trunk
per-feature branches from mirror branch:
bzr branch X-trunk X-fix
X-trunk$ bzr pull [URL] - synchronizes with master branch
X-fix$ bzr merge - mergin changes from upstrim
X-trunk$ bzr merge ../X-fix
X-trunk$ bzr commit -m "Fixed bug #123"
X-trunk$ bzr push - pushing back to master branch
bzr pull - gets changes f
Merge directives:
bzr send -o ../fix-123.patch
Releasing:
bzr export /home/csa/releases/adei-0.0.6.tar.bz2
Colloborative work
------------------
bzr merge sftp://dside.dyndns.org/home/csa/.bazaar/adei/ui/ -r 61
Info current tree:
bzr branch-history - which revisions we had
bzr missing - what we are missing in current branch
Canceling merge:
bzr revert <revision>
bzr uncommit <number of revisions>
Creating Intermediate Repository
--------------------------------
Creating:
bzr init-repo sftp://pdv@ipepdvweb.ka.fzk.de/srv/bzr/adei
bzr branch http://dside.dyndns.org/bzr/adei/trunk/ sftp://pdv@ipepdvweb.ka.fzk.de/srv/bzr/adei/ui
bzr bind sftp://pdv@ipepdvweb.ka.fzk.de/srv/bzr/adei/ui
Pushing upstream:
bzr push sftp://dside.dyndns.org/home/csa/.bazaar/adei/ui
|