IRCloggy #git 2008-08-11

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2008-08-11

chuckr left00:01
carrus85 joined00:05
rmh3093 left00:05
bts- left00:06
rmh3093 joined00:07
sgrimm left00:12
Mikachu i haven't watched this yet but http://free-electrons.com/pub/video/2008/ols/ols2008-james-bottomley-git.ogg00:13
j_engelh Bottomley is very good at explaining things00:14
I still have his FreedomHEC2007 presentation00:15
"Practical Introduction to quilt and git"00:15
mtodd_ left00:16
Mikachu yeah i have seen that one00:17
bremner j_engelh: is it about using them together?00:19
j_engelh no I do not think so. (Even if it were, you should be using stgit.)00:20
BarryCarlyon left00:21
bremner j_engelh: yeah, I'm not too sure yet. I didn't get a smooth workflow (debian packaging). But maybe I should give it another try.00:22
^it=stgit00:22
j_engelh no premade packages?00:22
bremner j_engelh: no I mean, I was messing with stgit to make debian packages00:23
perezd88 left00:25
doener_ joined00:29
ricky_ joined00:32
ricky left00:32
ricky_ricky00:32
Mikachu i don't know where he gets his numbers from though00:33
he claims linux-2.6.git is 2GB fully packed, which is an order of magnitude too much :)00:33
dragonball_ left00:34
ereslibre left00:35
swtaarrs left00:40
focafoca|postre00:41
doener left00:41
ereslibre joined00:42
tswicegood joined00:47
_eric joined00:47
NemesisD left00:48
igorgue joined00:48
rmh3093 left00:50
_eric how would I find the latest revision that a file existing in?00:50
(assuming I had rm'd it)00:50
johnw i'd git log --stat | less and search for the filename00:51
_eric heh00:51
Mikachu you can git log -- thefile00:53
if it doesn't work, try adding --diff-filter=D before the --00:53
_eric neat00:53
offby1 joined00:54
Oompa left00:56
kukks left00:56
johnw ooh, I like diff-filter00:57
rmh3093 joined00:59
juliano left01:00
pvh joined01:01
Oompa joined01:01
Gitzilla left01:01
offby1` joined01:02
offby1 left01:03
offby1`offby101:03
offby1` joined01:06
rmh3093 left01:06
zawir left01:07
foca|postrefoca01:08
rmh3093 joined01:09
Gitzilla joined01:09
offby1`` joined01:09
offby1`` left01:09
markkalderon left01:10
Oompa_ joined01:10
tswicegood left01:10
pvh left01:10
johnw i'm trying to figure out external diff helpers01:11
pvh joined01:11
johnw I have a [diff "araxis"] cmd = ... in my .gitconfig, and in .gitattributes I have "* diff=araxis", and I'm using git diff --ext-diff FILE, but still it uses the normal internal diff01:11
what piece am I missing?01:11
focafoca|sebazzzgae01:13
foca|sebazzzgaefoca01:13
Oompa left01:13
Oompa_Oompa01:13
swtaarrs joined01:13
giom joined01:16
ramontayag left01:17
mw joined01:17
hpa left01:18
supercali joined01:18
ramontayag__ joined01:20
ramontayag__ramontayag01:20
offby1 left01:21
Ademan left01:23
offby1` left01:24
david_koontz joined01:24
k4r1m joined01:27
jackdempsey left01:28
ereslibre_laptop joined01:29
perezd88 joined01:30
ereslibre left01:31
kanru left01:32
bongiojp joined01:33
fhobia joined01:37
patroy joined01:39
patroy Hi, how can you display what remote branch a local branch is tracking?01:39
cbreak maybe it's somewhere in git config -l01:40
Rhonda patroy: cat .git/config *ducks* :)01:41
jackdempsey joined01:42
cbreak why does git use human readable config files instead of xml?01:42
I thought human readable is out of fashion01:42
Mikachu probably because linus kills anyone in the same room who ever used xml01:42
advany joined01:42
Rhonda xml does require much more for parsing for the tools, too.01:42
patroy thx01:42
Rhonda It's neither human readable nor really helpful ressource wise.01:43
swtaarrs left01:44
Modius joined01:44
Mikachu "Yeah, I know. I love the config file format (quite frankly, anybody who thinks XML and friends are sane is a total moron and should be shot before they reproduce), but the whole parsing code was a really quick hack. "01:45
lll_ left01:45
Rhonda Like I said. ;)01:46
... or you, right.01:47
pvh_ joined01:48
pvh left01:48
aroben left01:48
codeshot left01:52
ereslibre_laptop left01:54
flaguy left01:55
pvh_ left01:57
pvh joined01:57
patroy left01:57
dragonball_ joined01:59
kukks joined02:00
perezd88 left02:07
kanru joined02:07
giom left02:09
david_koontz left02:09
NemesisD joined02:09
david_koontz joined02:10
giom joined02:10
NemesisD left02:13
perezd88 joined02:14
garrin joined02:14
nikbin joined02:15
nikbin left02:15
advany left02:15
cilly joined02:16
mw left02:18
cbreak left02:18
pjhyett_ left02:22
krawek joined02:23
david_koontz_ joined02:23
spearce joined02:26
dragonball_ left02:28
crab joined02:31
chrisb joined02:33
arun joined02:35
johnw in several ways, XML feels like the Java of data formats02:40
crab bright, happy, and beautiful?02:40
DrNick2DrNick02:40
johnw haha02:40
david_koontz left02:40
johnw exactly02:40
pvh left02:45
pvh joined02:45
ggapol joined02:48
tswicegood joined02:50
imyousuf joined02:53
imyousuf left02:53
LostInTheWorld joined02:53
david_koontz joined02:58
morii_ joined02:58
Doska left03:01
pvh_ joined03:02
pvh_ left03:02
pvh left03:03
astubbs joined03:06
LiamH left03:07
morii left03:10
morii_morii03:10
thannoy left03:10
david_koontz_ left03:13
lea_w left03:15
david_koontz left03:19
perezd88 left03:20
carrus85 left03:21
igorgue left03:24
spearce arrrgh. i _hate_ debugging transport related code.03:27
quickfetch always screws me up.03:27
giom left03:29
igorgue joined03:30
aroben joined03:33
LostInTheWorld left03:36
vbgunz_ left03:36
bcarlyon|laptop joined03:38
pifel left03:39
cskaterun joined03:43
bcarlyon|laptop left03:43
cskaterun left03:43
bcarlyon|laptop joined03:44
tlyng left03:46
kukks left03:46
spearce` joined03:48
spearce left03:48
sofar left03:49
spearce` left03:50
LostInTheWorld joined03:51
spearce joined03:51
spearce left03:52
spearce joined03:52
spearce left03:52
spearce joined03:52
aroben left03:54
pygi joined03:55
makeworkeasy joined03:56
kenpratt left04:00
madewokherd left04:04
tswicegood left04:05
cilly left04:09
cilly joined04:10
carrus85 joined04:11
flask- joined04:12
jlilly joined04:12
flask- Okay, question: I've got a repository that contains the base functionality of a web CMS I've built. I forked a branch for a new site I'm developing. I've made a series of commits to that branch, representing some site-specific development but also some changes to the core functionality. I want to get the core functionality changes back into master, leaving out the changes to site-specific files. Whats the best course of action?04:21
jlilly flask-: I would imagine you would use 'chunks' to pick which bits stay and which bits go.04:22
flask- okay, where can I learn more about 'chunks' ?04:22
jlilly ... which, iirc, is commiting interactively.04:22
flask- would that be --rebase interactive ?04:23
jlilly I don't think its rebase... as that would revert things iirc.04:23
I've only done it a few times and my mind is really clouded with HG at the moment.04:23
sorry :-/04:24
flask- ;)04:25
spearce flask-: are the commits isolated to "stuff for core" and "stuff for site"?04:25
can you just cherry-pick the core commits onto the master branch?04:26
tjafk1 left04:26
tjafk1 joined04:26
flask- no, the commits are mixed04:27
spearce fun. are the changes isolated to "site specific" and "core" files at least?04:30
flask- yeah04:34
spearce so assuming you have master checked out:04:34
for each commit you want to cherry-pick:04:34
git cherry-pick --no-commit $commit_sha104:35
git status04:35
git checkout HEAD -- $site_specific_paths04:35
git commit -c $commit_sha1 -e04:35
mario_ joined04:35
pygi left04:35
spearce basically what i am suggesting is to go through the changes one by one, apply them with cherry-pick, then back out the site specific files you don't want.04:36
flask- i don't recognize the syntax on the 'git checkout HEAD' command04:36
in fact I never quite figured out the whole "HEAD" thing04:36
spearce you may need to use git rm at the same time as git checkout to clear newly added site specific files.04:36
so go read the manpage for git checkout.04:37
but the summary of that command is "copy from commit HEAD paths $site_specific_paths into the index and the working directory"04:37
now HEAD is just an alias for the last commit on the current branch.04:37
alenoosh joined04:37
spearce so you are effectively copying the last committed state for a given file path back into the index and working directory, overwriting anything cherry-pick may have done.04:38
flask- and $site_specific_paths is just a space-delimited set of paths to site-specific files?04:38
spearce yes04:38
flask- is there a way to set that variable in .gitconfig so that i don't have to enumerate it manually each time?04:39
spearce or directories, it operates recursively on a directory if you give it a directory04:39
no04:39
what you are trying to do here is not something git can magically figure out for you.04:39
flask- it's not magic if it's the same files each time04:40
spearce oh, then just store them in a shell variable and use that as the argument to git checkout04:40
passing a file which isn't modified won't cause any errors04:40
but passing a "core" file path would be a bad idea, as the core change would be lost04:41
flask- why would it be lost? passing it would be including it in the commit, right?04:41
oh, n/m04:42
the "--" is for exclusion04:42
spearce uhm, no. but good thought.04:42
flask- erm ok...04:43
*lost*04:43
lenards joined04:43
flask- you had me until "passing a 'core' file path would be a bad idea"04:43
lenards question - how do you remove a remote branch? Is this github link wrong: http://github.com/guides/remove-a-remote-branch04:44
spearce lenards: that link is actually correct04:44
rmh3093 left04:44
spearce flask-: in the loop i showed you we are using git checkout HEAD -- $site_path to toss away any changes made to $site_path by the commit we had previously cherry-picked.04:45
mario_pygi04:45
flask- OHHHHH04:45
spearce since the point of this is to keep the changes made to a core path, passing a core path to git checkout would toss the changes, and uh, isn't what you wanted here, yes?04:45
lenards spearce: I don't understand why it works... why would `git push` be how you remove a remote branch?04:45
flask- spearce: okay so lets say the current state of my topic branch is the result of 10 commits. do I need to cherry-pick in every commit?04:46
spearce lenards: git push is the only command that can make changes to a remote repository. it can create branches, update branches, and it was overloaded to delete branches, since its the only outgoing communication command.04:46
rmh3093 joined04:46
spearce flask-: yes, and in reverse order. meaning the order shown by `git log --reverse master..topic`04:47
makeworkeasy left04:47
flask- Ouch04:47
pygi spearce, greetings04:47
spearce hi pygi04:47
lenards spearce: thank you... okay - but the syntax shown looks like the same way I'd push changes to that remote branch04:47
foca left04:47
spearce flask-: you can try to automate this, if it is always the same paths:04:48
pygi left04:48
pygi joined04:48
flask- spearce: okay, so indulge me a moment if you would. Knowing what I want to accomplish, if I were to start over, is there a workflow you can see that makes more sense?04:48
spearce for c in $(git rev-list --reverse master..topic); do git cherry-pick --no-commit $c && git checkout HEAD -- $site_paths && git commit -c $c; done04:48
but i'd do that on a temporary branch (git checkout -b tmp master) just in case it screws up badly. :)04:48
so moral of the story here is don't make core changes intermixed with topic branch specific changes.04:49
make the core branch changes on the core branch, and the site specific changes on a site specific topic branch.04:49
Mikachu || break; done if you want to be neat :)04:49
spearce use git rebase on the topic branch to update it with the latest-and-greatest from the core/master branch.04:49
lenards: if you look carefully at the syntax the source side of the argument is empty (the stuff before the :). we are technically pushing _nothing_ to the remote branch to cause its deletion.04:50
flask- spearce: okay that does make sense04:51
lenards spearce: hmmm... okay so if I was pushing to a remote branch to update it... how would it look? `git push origin localbranch:remotebranch` ?04:51
spearce lenards: correct04:52
and its common for localbranch and remotebranch to be the same name, so "git push origin A" is an shorthand for "git push origin A:A"04:52
lenards spearce: excellent - thank you04:52
chrisb left05:04
spearce left05:05
krawek left05:05
jackdempsey left05:05
johnw left05:07
imyousuf joined05:07
jerbear left05:10
digitalhobbit joined05:14
hacim ~.05:14
ismell joined05:17
DavidBoman joined05:20
cedricv joined05:26
LostInTheWorld left05:26
x77686d joined05:29
rmh3093 left05:31
rmh3093 joined05:34
godlygeek how do you show what branches exist in a remote repository that you just cloned?05:35
ph^ joined05:35
godlygeek ooh, nevermind - "git branch -r" does that.05:38
Boman left05:38
fargiolas|afkfargiolas05:40
xenoterracide left05:41
DrFrasierCrane joined05:43
ramontayag left05:50
astubbs godlygeek, -a is also usefull05:50
also gitk --all05:50
ramontayag__ joined05:54
ramontayag__ramontayag05:54
vbgunz joined05:56
LostInTheWorld joined05:58
xenoterracide joined06:04
Oompa left06:06
rmh3093 left06:08
DrFrasierCrane left06:08
lenards is there a way to get a post-pull hook?06:08
I know there isn't one in .git/hooks06:09
mithro left06:11
ehc joined06:13
mithro joined06:13
parasti left06:13
ehc left06:16
kixxx joined06:16
lenards left06:16
kixxx left06:17
ehc joined06:17
DrFrasierCrane joined06:20
charon joined06:20
kixx joined06:23
ramontayag__ joined06:23
carrus85 left06:28
drizzd joined06:28
rmh3093 joined06:29
x77686d left06:33
DrFrasierCrane left06:37
bobesponja left06:39
ramontayag left06:39
reel_ joined06:39
ciaran left06:40
drizzd_ left06:40
charon left06:44
igorgue left06:47
bdiego left06:53
Eludias joined06:55
normalperson left06:56
danten joined06:56
Fullmoon left07:03
fhobia left07:03
Fullmoon joined07:03
ben_h_ joined07:06
digitalhobbit left07:06
normalperson joined07:07
rraasch joined07:07
k4r1m left07:07
charon joined07:10
bugfux left07:11
lea_w joined07:15
diask joined07:16
towski left07:17
metze_awaymetze07:19
EgS left07:19
Sput left07:19
EgS joined07:19
pdherbemont left07:20
bcarlyon|laptop left07:20
kixx left07:21
jackdempsey joined07:22
skrit left07:22
towski joined07:24
_kid_ joined07:25
Marmouset joined07:27
lhunath joined07:28
lhunath is there a way to see the branches layout as shown by gitk and others in the console?07:29
I've no X server running on the box.07:29
tango_ lhunath, git-forest http://dev.computergmbh.de/gitweb.cgi?p=hxtools;a=blob_plain;f=bin/git-forest07:30
kenpratt joined07:30
lhunath tango_: lovely.07:31
tango_ lhunath, you're lucky, I just came across this yesterday. I haven't tried it either, so let me know if it works 8-)07:32
lhunath Heh.07:32
will do.07:32
charon lhunath: also git log --graph07:32
Fullmoon left07:32
lhunath charon: interesting.07:33
charon (in 1.5.6-rc2 afaics)07:33
ah, even 1.5.6-rc0.07:34
bartocc joined07:37
Pupeno-G left07:40
towski left07:40
Fullmoon joined07:42
shadowfax joined07:42
dwmw2_gonedwmw207:44
evan_ joined07:44
BabelO joined07:44
kenpratt left07:45
lhunath left07:47
giom joined07:49
Signum left07:50
deavid joined07:55
reel_ left07:55
jmesnil joined07:56
sverrej left07:58
ehc left08:01
LostInTheWorld left08:01
ereslibre joined08:02
towski joined08:04
ereslibre left08:04
thiago joined08:07
supercali left08:10
statim_ joined08:16
statim left08:16
Fullmoon left08:16
priidu left08:17
dstuxo joined08:20
priidu joined08:22
pygi left08:26
alenoosh left08:26
alenoosh joined08:27
ciaran29d joined08:28
shadowfax left08:30
jackdempsey left08:30
ereslibre joined08:33
towski left08:35
pygi joined08:37
Araneidae I'm confused. I was tracking the head of a repository, but now I don't know where I am anymore. I'm not on a branch, and I don't know how to get back! I have no branches...08:38
Araneidae still hasn't grasped some basics08:38
doener_ "git branch" shows what?08:38
Araneidae Just says "* (no branch)"08:38
doener_ nothing else?08:38
Araneidae That's it08:39
doener_ heh, seems you dropped your local branches08:39
and "git branch -r"08:39
Araneidae origin/HEAD, master, stable08:39
I guess I want one of those...08:39
doener_ did you have any local commits?08:39
Araneidae No08:39
Long merged08:39
doener_ that's origin/HEAD, origin/master and origin/stable, right?08:40
ie. all have the origin/ prefix08:40
Araneidae Yes, I was being a ilittle lazy08:40
Marmouset left08:40
doener_ ok, then just "git checkout -b master origin/master" to recreate a local branch called "master" that starts off from "origin/master"08:40
(and to check it out at the same time)08:41
Araneidae Cheers. `git status` now tells me about three files that are untracked. I guess I need one of the extra checkout flags to lose those08:41
(They're files I've never touched)08:42
doener_ no, you need "git clean" to get rid of untracked files08:42
charon are junio's topic branches available somewhere?08:42
i.e. the branch heads, i have the commits.08:42
Araneidae doener_, thanks very much.08:43
doener_ no08:43
problem08:43
oops :-)08:43
resmo joined08:44
Araneidae How do I tell git to remove a large block of files? I can use `git add .` to add files, but `git rm` needs to be told which files to remove. I've ended up in the past processing the output from `git status` to figure out what to pass to `git rm` which doesn't seem right.08:45
doener_ "git add -u" updates all tracked files in the index08:45
so if you deleted a tracked file in the working tree, "git add -u" will delete it in the index08:46
Araneidae Oh08:46
I didn't understand that from the man page.08:46
That's exactly what I want!08:46
Have to say the man page doesn't say that at all08:47
doener_ Araneidae: hm, what's unclear about "Update only files that git already knows about, ... and marking deleted files for removal"?08:47
Araneidae Hmm. My copy doesn't have the last half of that.08:48
git version 1.5.4.308:48
doener_ it's in there since 1.5.4.608:48
Araneidae evidently needs to update08:48
doener_ that's true anyway, we're almost at 1.6.0 ;-)08:49
Araneidae I'm running the Ubuntu distribution here, guess I could usefully build a local copy.08:49
dstuxo left08:50
ciaran29dciaran08:50
doener_ Araneidae: yeah, not such a bad idea. or maybe the package from backports.org, if Ubuntu likes those08:51
dstuxo joined08:51
Pieter 8~.08:51
doener_ Araneidae: btw if you build from a git.git clone, use "make quick-install-doc", not "make install-doc", the latter takes ages08:51
dstuxo left08:51
draco_ joined08:51
draco_ hi08:52
I'm adding my untracked files with git-add but then git-diff does not show them08:52
dstuxo joined08:52
Araneidae backports.org looks interesting08:52
shingara joined08:52
shingara Hi08:52
draco_ what shuld I do to add files preperly?08:52
shingara I have a problem with git-svn08:52
Pieter git add file?08:52
doener_ draco_: "git diff" shows the diff of the working tree against the index08:53
Pieter draco_: that's desired behaviour08:53
draco_ Pieter, i'm doing that, and git-status shows that file as well08:53
shingara git-svn want commit my master update in a tags and not in a trunk08:53
Pieter try git diff HEAD or git diff --cached08:53
doener_ draco_: "git add" already added the file to the index, so you want a diff of the index against HEAD08:53
shingara the branch remote/trunk exist and it's in good place08:53
draco_ hmm08:53
doener_, that worked08:53
so HEAD is _real_ repo and index is mine?08:54
I'm a little confused08:54
doener_ HEAD is a (symbolic) ref pointing to the commit or branch that you have checked out08:54
the index lies between your working tree and whatever you have checked out.08:55
draco_ does git-pull changes index or my working tree ?08:55
doener_ "git add" "stages" changes in the index, and on "git commit" the new commit in created from the contents of the index08:55
Araneidae Interesting: I have a regression. `git svn clone <url>` works just fine with 1.5.4.3 (my Ubuntu version), but fails miserably with 1.5.5 (built from source on RHEL)08:56
(Two completely different machines being used here, on different networks.)08:56
doener_ draco_: "git pull" is fetch+merge. The merge part of course affects your working tree and index08:56
charon Araneidae: why build 1.5.5 manually when there's 1.5.6.5 already?08:57
Araneidae Did that a few months ago08:57
Araneidae has too many machines to deal with08:57
doener_ Araneidae: IIRC the early 1.5.5 had some breakage from git-svn optimizations08:57
draco_ thanks08:57
Araneidae Guess I'd better update that and see if a new build fixes it. Good to know it's a known issue08:58
doener_ Araneidae: same is true for 1.5.6 and 1.5.6.108:58
Araneidae ahhh08:58
doener_ but the only sane choice at the moment is 1.5.6.5 (or higher) anyway08:58
Araneidae right. I see why Ubuntu sticks with 1.5.4.3!08:59
doener_ no, that's because the froze the versions of all programs in the release you're running at some point and that happened to pick 1.5.4.308:59
Araneidae Could be -- except they're constantly publishing updates to so many components09:00
The Ubuntu update process really annoys me: wait a few weeks and it can be a couple of 100MB for an update!09:00
Araneidae prefers the Debian stick in the mud approach09:01
doener_ heh, with debian sid, you can wait a few days and have several 100mb of updates ;-)09:02
evan_ left09:04
lu_zero left09:04
ramontayag__ left09:09
sverrej joined09:11
draco_ left09:14
ramontayag__ joined09:15
ramontayag__ramontayag09:15
chris2 joined09:22
ramontayag left09:22
Boman joined09:23
ben_h left09:24
ben_h_ left09:24
fargiolasfargiolas|afk09:25
dmiles_afk left09:26
ebel joined09:27
tvw joined09:28
MK_FG joined09:28
warthog9 joined09:29
fargiolas|afkfargiolas09:34
Zyroth joined09:35
niv_ left09:35
lea_w left09:35
shadowfax joined09:35
Zyroth If I run `$ git clone . ssh:// ...`it actually makes a new directory "ssh:" in my current repository with a clone in it... how but I obviously want to be the clone on a server... what am I doing wrong?09:36
abizern joined09:37
charon Zyroth: clone makes a local copy of a remote repository. 'man git-push' for the other direction09:37
bcarlyon|laptop joined09:37
Zyroth thanks!09:37
Magnus` does anyone know a way to find a commit which contain a given tree hash?09:39
reel_ joined09:39
ben_h joined09:40
ben_h_ joined09:40
charon Magnus`: git rev-list HEAD | while read commit; do git ls-tree $commit | grep -q <hash> && echo $commit; done09:41
add 'break' if you're only interested in the first one, i guess09:41
will also find blobs, not just trees09:42
Magnus` thanks, I can use something like that09:42
charon ah, damn, that's nonrecursive, let me see09:42
doener_ maybe with --all instead of HEAD, if the tree is not known to be in your current branch09:43
charon yeah09:43
also, make it 'git ls-tree -r -t ...'09:43
that is recursive and still shows the 'tree' entries09:43
aha, seems 'git ls-tree -r -d' shows only the trees, not the other entries. that might be faster.09:44
shingara left09:44
Magnus` i am just interested in the tree of a specific path, so it's a bit simpler09:45
doener_ if the tree is the toplevel one, this is faster: git rev-list --pretty=format:%T --all | grep -B1 $tree_hash09:45
Magnus` it's not the toplevel...09:45
icwiener joined09:46
DavidBoman left09:48
DrFrasierCrane joined09:54
markkalderon joined09:57
DavidBoman joined09:59
doener_ Magnus`: do you know which pathname the tree belongs to?10:01
Magnus`: anyway: git rev-list --all | git diff-tree -t --stdin | grep '^\([^:]\|:04\)'10:02
Magnus`: that lists all commits along with the tree changes that happened in those commits10:03
you can add, for example, " -- somedir" to the rev-list command to limit the output to commits that had changes in "somedir"10:04
and it's reasonably fast. About 1.5s to list all tree changes from git.git10:05
ehrm, 5s. 1.5s was for Documentation/ only10:07
for comparison, the shell scripting loop took 2m34s ;-)10:09
charon diff-tree -t is a nice trick, i'll write that down somewhere10:10
mithro left10:13
doener_ oh, log just needs --raw to make -t work.10:14
tlyng joined10:14
doener_ git log --raw -t --pretty=oneline | grep '^\([^:]\|:04\)'10:14
that's even 20% faster. just a little less than 4s for the whole of git.git10:15
fargiolasfargiolas|afk10:15
thiago left10:15
alenoosh left10:16
doener_ shows abbreviated tree hashes though, and I'm too lazy to look up how to get those in full. So I'll leave that as a lesson for the reader ;-)10:18
compubomb joined10:20
MK_FG left10:21
compubomb how do you get started setting up a git:// once you have your git repo setup ?10:21
i mean, what do you have to do to be able to use the git_url ?10:21
Boman left10:21
doener_ git-daemon10:21
schlort left10:22
schlort joined10:25
ebel left10:26
sbeyer joined10:27
crab wonders wtf to say about the cherry-pick/rerere change.10:28
ereslibre left10:30
giom left10:30
pasky I like the commit message :)10:33
snitko joined10:34
pygi left10:34
pygi joined10:34
mithro joined10:37
crab thanks.10:46
markkalderon left10:48
CodeOfficer left10:49
bartocc_ joined10:50
chris2 left10:50
lea_w joined10:52
Sput joined10:58
wildfire joined10:58
wildfire hi10:58
git commit is telling me I have 'some suspicious patch lines'10:58
but those lines are okay, how can I force git commit to commit this stuff?10:59
cbreak joined10:59
doener_ you probably enabled the pre-commit hook, which checks for whitespace noise11:00
thiago joined11:00
doener_ either disable that hook, fix the whitespace noise, or use --no-verify (IIRC, check git-commit(1))11:00
wildfire doener_, ahh - yes; thanks '-n' to git commit was it11:00
doener_ would have fixed the whitespace breakage instead :-)11:01
cbreak a whitespace noise checker? excelent!11:01
where?11:01
doener_ .git/hooks/pre-commit11:01
just chmod +x it11:01
jacobat joined11:01
doener_ the example hook only contains the whitespace thing11:02
avu wildfire, using git on windows by any chance?11:02
doener_ oh, maybe rename from pre-commit.sample to pre-commit, that was changed lately11:02
avu doener_, ah, very good. so the hooks won't be all executed by default on windows anymore11:02
doener_ right11:03
hml joined11:03
doener_ not sure if that's 1.6.0 stuff or already in 1.5.6.x11:03
hml maybe this question itself is wrong; i want to setup a git repo for the sole purpose of having data pushed to it on a 10 minute base; like a time stamp of a dir; anyone else doing this? I find that i often don't git commit often enough; and if i had this time stamped autocommit, it may help me11:04
wildfire doener_, these are sample input data --- I want it to have the appropriate problem so that the unit tests work11:04
cbreak nice11:04
schlort left11:04
doener_ cbreak: that hook used to have a perl script in it, the new one uses "git diff --check" instead, which respects the core.whitespace settings11:04
again, not idea in which version that was added/changed11:05
imyousuf left11:05
cbreak both seem to work anyway.11:07
bartocc left11:10
zawir joined11:10
Zoup joined11:10
Aerpe joined11:11
Zoup i did create a patch of files ( both modified and new added ) and git-applied them , but only modified files are visible in git-status and new files are not created at all11:11
dennister joined11:11
bartocc_ left11:13
dennister any ubuntu hardy users in here? having real trouble using git and documentation to compile a custom kernel with speakup patch(es)11:13
i'd really appreciate some help...used to compiling gentoo kernels with /usr/src/linux instead11:14
schlort joined11:15
avu dennister, what's your actual git related prblem?11:15
hml left11:16
reel_ left11:16
dennister git pull...did the git init successfully, i may have the source wrong in /etc/apt/sources.list, but "git pull always gives me errors11:16
reel_ joined11:16
avu dennister, git has nothing to do with the sources.list file11:17
dennister okie, will remove it then11:17
avu dennister, also, if you want a copy of an existing directory, you don't do init/pull but clone11:17
dennister ty...very helpful so far :-)11:17
ben_h left11:20
Mikachu does ubuntu even come with gcc? :)11:20
dennister ok, seems I did do a git clone last night, following this (i believe flawed) howto: https://wiki.ubuntu.com/KernelGitGuide11:20
albertito dennister: on a quick check it seems sane, at least for a user who just wants the latest Ubuntu-patched kernel11:22
dennister after doing the long download, did the 'git pull' as per howto, got error, took a look at the git tutorial, did the 'git init' and that worked, then tried to do another git pull, as per howto, and that's where i got more errors11:22
albertito dennister: just git clone git://kernel.ubuntu.com/ubuntu/ubuntu-hardy.git; cd ubuntu-hardy; make menuconfig and so on11:22
avu dennister, read the howto again. it's fine but you missread it.11:23
albertito dennister: then, when you want to update your copy of the kernel, do "cd ubuntu-hardy; git pull", and that's just it11:23
dennister small wrinkle: i need to install the speakup patches...this is for a blind user who needs speakup screen reader11:23
avu dennister, you run the git pull command in the directory created by git clone only when you want to update what you got11:23
pieter__ joined11:24
pieter__ ah, internet via gprs11:24
dennister o i c...so i'll unpack the speakup tarball as per those instructions, and do the symlink from /usr/src/linux to the .git, then do the make menuconfig? i figure i'll be all right once i get to the menuconfig portion...being on familar ground by then11:26
Mikachu is there any particular reason you want the latest unstable linux version?11:27
lea_w left11:27
dennister Mikachu: if ur talking to me, I'd actually not prefer an unstable version...hardy is up to 2.6.19.36 i believe...i just need to compile the custom kernel with the speakup patches11:28
Mikachu why not just download 2.6.26.2 from kernel.org?11:29
avu or install a linux-source package from ubuntu11:29
astubbs ok - need a little help here. i just made a massive commit and the realised i was on HEAD^ and of course no i'm on "no branch". how do I make branch master's HEAD be where I am now? - it's been a long day... but i'm sure glad i didn't loose anything :)11:30
Zoup left11:30
albertito dennister: you should check what kernel the speakup patches are against. I googled and it seems there were packages for older ubuntu releases, maybe they are already shipping it?11:30
astubbs: git show, copy the sha1 of the commit. git checkout master; git reset --hard <sha1 of the commit>11:31
dennister wiat, my kernel now is 2.6.24.19...this kernelgitguide in ubuntu community documentation says that doesn't work anymore...believe me...i'd prefer to use methods I'm already familiar with11:31
albertito astubbs: but you will loose the current "HEAD" commit, you are aware of that, aren't you?11:31
Mikachu astubbs: git checkout -b oopsie; gitk oopsie...master, see if there's anything in master you accidentally threw away from this branch11:31
avu dennister, this KernelGitGuide is for people who want the latest ubuntu development kernel.11:31
astubbs albertito,yeah that's cool11:32
dennister albertito: the speakup patches are for 2.6.10 and later...and no, there are no speakup packages for hardy in the repositories...they and some other necesary stuff like kernel-patch-?? have been dropped from hardy repositories11:32
albertito astubbs: you can also: git branch tmp; git rebase master; git checkout master; git merge tmp if you don't want to loose that commit11:32
avu dennister, the packages are now calles linux-patch-foo11:33
dennister, you should really head over to #ubuntu with this :)11:33
albertito dennister: I found this on launchpad: https://launchpad.net/ubuntu/+source/speakup, maybe you can use that? have you asked in #ubuntu?11:33
wildfire dennister, why are you not just searching for the speakup-modules as avu indicates? Basically you seem to be taking the longest, most difficult path to get a kernel with those patches compiled in11:33
dennister avu: i always try #kubuntu and #ubuntu channels first...gwas very patient but no one could help me11:33
avu dennister, well, you clearly have no git problem. in fact, using the kernelgitguide method is most likely not what you want, which means you are quite offtopic here11:34
dennister posted it to ubuntu forums, too, lots of views, no one could help...got to kernelgitguide from another ubuntu page, which said i had to use the git guide, as other methods didn't work anymore...11:35
Aerpe left11:36
albertito dennister: have you tried using the mailing list? there is a ubuntu kernel mailing list where this is probably on topic (since they did ship packages before)11:36
avu dennister, didn't work? of course you can just install a linux-source-version package11:36
dennister soory if i'm offtopic, but as you can see, i have tried many other channels first, before coming here...and u guys have been the only ones who've been able to offer me any useful advice11:36
avu dennister, really, this git repository is only for the latest development kernels.11:36
dennister, see https://help.ubuntu.com/community/Kernel/Compile11:37
albertito avu: his problem doesn't seem to be the compilation on itself, but the speakup patches11:37
astubbs yikes this is freaky -getting some big old (cygwin) git-read-tree**** fatal error could nt load shell32, win#2 error. Hangup.11:37
doin a back up .git now before i screw anything11:38
morphir left11:38
avu albertito, yeah but from what I have agthered, those patches exist for older kernel versions as well, so there is no reason he should use an unstable development kernel11:38
gathered even11:38
ggapol left11:39
avu wow, reading further seems to suggest that the ubuntu folks really did manage to break the in-repository kernel source packages?11:40
dennister avu: yes, the link u gave me was the exact doc that told me to use kernelgitguide...due to this: NOTE: This method has been broken since at least June 14th, 2007. Details are here. Use method #1 above ("git") instead.11:40
Mikachu lol at "Reasons for NOT compiling a custom kernel" "You have no idea what you are doing, and if you break something, you'll need help fixing it."11:41
avu dennister, well, get ubuntu support11:41
Mikachu i would have put one more "if" in that sentence11:41
dennister Mikachu: like i said, i have built/compiled many a gentoo kernel before11:41
avu dennister, this is a git channel. most people in here don't use ubuntu and our discussion about it steals screen real estate from legitimate git questions.11:42
dennister fine. i get the hint: i'm buggering off...thanks for the help, and the hurt feelings11:42
dennister left11:43
d0k joined11:44
X-Blade left11:44
astubbs crap - git-read-tree crashes checking out my oppsie at about 30%11:44
i can see the commit in gitk though11:44
and the entire patch11:44
just can't seem to reset to it11:45
mithro_ joined11:45
mithro left11:46
mithro_mithro11:46
jlilly left11:46
astubbs ok making progress... there are four commits in the chain after i went to head^. i've reset to the first one ok11:48
(6403 files btw)11:48
i'll try climbing up the ladder, resetting to each one11:48
111:48
211:49
311:49
now this is the last commit... *gulp*11:49
ok this is strange11:51
dir/file currently doesn't exist11:51
now i got up one more step11:51
crap. got that git-read-tree crash again11:52
perhaps i could create a patch and reapply it?11:52
dragonball_ joined11:53
astubbs googles git cherry pick11:53
mithro_ joined11:53
mithro left11:54
mithro_mithro11:54
priidu left11:55
Pakorrerme joined11:55
Pakorrerme Hi every body11:55
I've just installed git + gitosis in my debian distro11:56
ereslibre joined11:56
lu_zero joined11:56
Pakorrerme but i when i try to connect with ssh i get some error like that: "fatal: destination directory 'gitosis-admin' already exists."11:57
what's matter?11:57
can anybody help me?11:58
charon astubbs: maybe you can 'git fsck' to rule out a corrupt object in that last commit?11:59
Pakorrerme charon, it's me12:00
I need to install git urgently12:00
astubbs but the last commit is the really big important one12:00
will that delete anything?12:01
MK_FG joined12:01
charon astubbs: no, fsck just checks consistency12:01
Pakorrerme What's is the function of gitosis, thank you?12:01
charon note that dangling objects aren't an issue, but still reported12:01
unreal_ joined12:01
unreal left12:01
astubbs just reported a whole lot of dangling12:01
cannonball joined12:03
charon Pakorrerme: i doubt you'll get help if you vaguely describe an error without saying with what exact commands you got it, then being impatient and prodding people that just so happen to be awake. try pasting some of the shell session, including the error, on pastebin.com or so12:03
Magnus` running 'git checkout $rev -- dirA' does not remove files which where added after $rev. Is that a bug or a feature?12:04
astubbs ok i can't seem to reset to it12:04
what's the easiest way to make a patch from it? (i suppse that wont work either anyway)12:04
Mikachu Magnus`: if you want to remove files, you already have git rm12:04
astubbs git format-patch <rev> looked like a no-op12:04
Magnus` Mikachu: i just want to get dirA at the state it was in at $rev12:04
pieter__ left12:05
Mikachu Magnus`: git rm dirA; git checkout rev dirA12:05
frq1_dave joined12:05
tlyng left12:05
astubbs ok tried git reset --hard HEAD@{4} - that's the commit. and i get the unable to create symlin dir/file that i was alluding to earlier12:05
error is (File exists)12:05
Magnus` say that HEAD:dirA contains file1 file2 file3 and HEAD^:dirA contains file1 file2. Doing git checkout HEAD^ -- dirA will not remove file3 from dirA12:06
astubbs hmm12:07
Mikachu Magnus`: yes, it won't, that's intended12:07
astubbs git status shows that there's actually heaps of changes now - looks like my commit12:07
epic_ joined12:07
Magnus` Mikachu: why is that? and is there a way around it?12:08
epic_ how do i use git-svn init against a non-standard repository structure?12:08
Mikachu Magnus`: i already said what to do12:08
Magnus`: git-checkout by definition checks file out, it doesn't delete them12:08
files*12:08
Magnus` ok, thanks!12:09
astubbs ah-ha! i think git reset --soft HEAD{5} after that has done it!12:09
grahal joined12:10
astubbs oh thank god! my master is now pointing at my large important commit12:10
shesh what a nightmare12:10
now to dcommit before i loose it!12:10
Pakorrerme Hello when i connect to git from shh witch "sudo git clone git@localhost:gitosis-admin.git" i get this message "Initialized empty Git repository in /home/gitosis-admin/.git/" but after It ask me for a password, what password? thank you12:10
janm joined12:11
charon astubbs: a soft reset keeps the index and working tree, so it never reads the tree you're pointing it at12:11
Pakorrerme hello!!!12:11
charon Pakorrerme: google for gitosis-init.12:12
Ademan joined12:12
Pakorrerme anybody can help me --> when i try to connect to git from shh witch "sudo git clone git@localhost:gitosis-admin.git" i get this message "Initialized empty Git repository in /home/gitosis-admin/.git/" but after It ask me for a password, what password? thank you12:12
charon thank you12:12
warlock_mza joined12:13
charon for example, http://gentoo-wiki.com/Gitosis#Configuring has a nice explanation.12:13
Pakorrerme charon thank you12:13
i'm using debian12:13
thiago Pakorrerme: "sudo"? Why?12:14
Pakorrerme thiago, it¡s because i use debian, and i want to execute that command like root12:15
thiago so... why?12:15
Pakorrerme ¿?12:15
K12:15
thiago why do you want to use root?12:15
Pakorrerme I don't know if it is necessary or not12:15
ahh12:15
i understand your answer12:15
_kid_ left12:16
Pakorrerme maybe you are thinking about I should have to execute this command from client12:16
thiago why do you want to use the superuser for a git repository?12:16
Zyroth left12:19
astubbs ok - here's an easy question. you know when you have rebase conflicts - does it always apply an entire commit at once, and show you all the conflicts? or does it stop at the first conflict?12:20
bcarlyon|laptopBCarlyon|Laptop12:20
thiago it applies everything12:21
astubbs oh ok good - so i only have one conflict :)12:21
what i find weird is that, it says there's a conflict, then i do git-ermgetool and it says there's nothing to merge!12:22
and stauts only shows .dotest12:22
so then i try and continue - and it says - "no changes", did you forget to git add?12:23
Pakorrerme Are all my repositories saved in /var/spool ?? thank you12:25
AlexB left12:26
ben_h joined12:26
_kid_ joined12:28
lorandi joined12:28
jmalonzo joined12:31
epic_ how do i change a git svn svn+ssh username? it keeps trying to log on to ssh with my local username..12:31
doener_ add username@ to the url in the config, or just setup your ssh config to use the correct username for that host12:32
epic_ got it :)12:32
thanks12:32
mw joined12:36
morphir joined12:37
frq1_dave left12:38
cannonball left12:40
charon not really a git question: do mmap() areas of real files count towards RSS? DRS? VSIZE?12:41
Mikachu i think it depends on if they're paged in or not ;)12:42
markkalderon joined12:42
madewokherd joined12:44
janm left12:44
cannonball joined12:45
vbabiy joined12:48
Pakorrerme Hi12:50
parasti joined12:50
Leonidas left12:52
lhunath joined12:52
lhunath is it a bad idea to want to put my GIT hooks in the repository?12:52
astubbs left12:53
irotas joined12:55
Pakorrerme if I have created git user with the flag "disabled-password" then, why does git user ask me for a password?12:55
cupsh I want to cherry-pick a bunch of commits from another branch. rebase is the tool of choice, right?12:56
Mikachu disabled-password means you can't log in at all12:56
robinr joined12:56
Pakorrerme Mikachu, what?12:57
Mikachu disabled-password means you can't log in at all12:57
Pakorrerme ahh ok12:57
Mikachu lol12:57
skarab joined12:58
Pakorrerme And because when I type "git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git" it ask me for a password12:58
mithro left12:58
lhunath left12:59
Aerpe joined13:01
ben_h_ left13:01
ben_h left13:01
skarab left13:01
zawir cupsh: right, you can use "pick" in rebase13:02
crab left13:06
sergiodj joined13:08
QuercusMax joined13:08
X-Blade joined13:09
Ryback_ joined13:09
ph^ left13:10
dragonball_ left13:11
BabelO left13:14
BabelO joined13:15
jeukku joined13:16
AlexB_ joined13:16
AlexB_ left13:16
aroben joined13:17
aroben left13:17
giom joined13:18
Pakorrerme Hi13:18
shadowfax left13:19
fargiolas|afkfargiolas13:19
LiamH joined13:20
pygi left13:20
bongiojp left13:21
cmarcelo joined13:21
rlorandi joined13:23
lorandi left13:23
dragonball_ joined13:29
Sho_ left13:29
cmarcelo left13:30
SjB joined13:30
Pakorrerme Command "git clone git@SERVERHOST:gitosis-admit" doesn't create the file gitosis.conf13:30
ph^ joined13:30
bongiojp joined13:31
ben_h joined13:32
ben_h_ joined13:32
priidu joined13:32
Sho_ joined13:33
ben_h_ left13:34
jerbear joined13:36
pygi joined13:36
rdavila joined13:37
rmh3093 is there a way to change the message on old commit13:38
doener_ commit --amend/rebase -i/filter-branch13:39
and don't do that for commits you already published13:39
charon Pakorrerme: did you gitosis-init like the link i posted earlier says?13:40
mithro joined13:40
rmh3093 yeah its already pushed13:40
Pakorrerme charon, yes i did that13:42
i don't know why gitosis.conf don't appeared13:42
reel_ left13:44
reel_ joined13:44
lu_zero left13:44
giom left13:44
giom joined13:46
priidu left13:47
giom left13:47
Cacheaway joined13:49
lea_w joined13:52
Aerpe left13:52
zdennis joined13:53
zdennis Anyone know of a way to get a log of revisions on a particular date (or date range) ?13:54
rraasch left13:54
zdennis I am looking through docs on git-log, but I don't see anything13:54
doener_ --since/--until, see git-rev-list(1)13:54
zdennis thx doener_13:55
doener_ also understands things like --since=3.days.ago13:55
priidu joined13:55
epic_epic13:55
kukks joined13:55
giom joined13:56
juanjoc joined13:57
epic left13:57
jeukku left13:57
unreal_unreal13:58
foca joined13:59
priidu left14:01
Pakorrerme Hi14:01
botanicus joined14:03
priidu joined14:03
Pakorrerme charon, I followed the tutorial that you recommend me but It doesn't work well, when I make a connection using git clone git@MYHOST:gitosis-admin.git it doesn't create a gitosis.conf file14:04
snitko left14:04
Boman joined14:04
charon can you paste the shell sessoin where you do that clone, plus 'cd gitosis-admin; ls -al' on pastebin.com?14:04
rmh3093 left14:04
mithro left14:04
Pakorrerme ok14:05
mithro joined14:06
rmh3093 joined14:06
atom joined14:07
mcgrof left14:07
icwiener left14:07
spearce joined14:08
atom hi peeps. Got a wee bit of a problem. I've renamed a lot of files and then modified them, and now when I try git-status (before a commit) git shows a lot of those as file deleted/added instead of renamed. Is there a way to inform git of the rename+edit so viewing file history will be more useful in the long run?14:09
lea_w atom: You don't. http://git.or.cz/gitwiki/GitFaq#head-557ab0dbe84efb4e6a091f43c05b326a52b8fc0314:10
doener_ git always detects renames after the fact14:10
atom lea_w: thought so...14:10
doener_ atom: how much did you edit those files, and how many files are we talking about?14:10
atom doener_: it's not such a big deal, it's about 12 files.14:11
doener_: and most of the edits are capitalization changes and a few small bugfixes.14:11
doener_ did you already add the files to the index?14:11
atom doener_: yes, unfortunately.14:11
doener_ the old ones as well as the new ones?14:12
ddollar joined14:12
jmalonzojanm14:12
atom doener_: um... now I'm not sure if I understand the "index" correctly. You mean if I added the new filenames and removed the old ones? yes, I did, I did a git-add .14:13
Pakorrerme charon, http://pastebin.com/m64d65c63 thank you14:13
doener_ ok, so they're all listed under "Changes to be committed", right?14:13
atom doener_: yeah, that.14:14
doener_ atom: I guess your changes account for more than about 33% of the lines of those files then. That's the threshold git uses for renames14:15
atom doener_: yeah, that's quite possible.14:15
QuercusMax left14:15
atom doener_: but reading the FAQ entry and related pages that lea_w posted, I see that it really doesn't matter.14:15
Pakorrerme charon Have you seen anything wrong?14:15
doener_ atom: well, for files in the index, the rename detection already kicks in14:16
atom: so if that doesn't see them as renamed, probably nothing else will14:16
atom doener_: I can live with that. I just thought there was a simple fix and that I would have done, but it's not that important.14:17
doener_ rename first, modify in a later commit14:17
atom doener_: that would mean reverting all those files, commiting and copying in the new ones.14:18
doener_ not necessarily14:18
atom ?14:18
doener_ http://git.pastebin.com/m3427c45d14:19
a somewhat terse description ;-)14:19
charon Pakorrerme: i can't see any mistake there. maybe update to newest gitosis, nuke the gitosis-admin.git directory and redo the setup. if that doesn't work, you'll have to find someone more competent than me14:19
atom doener_: interesting.14:20
aroben joined14:20
Pakorrerme charon, oohhh thanks14:20
doener_ atom: if you're lucky, that might work.14:20
cedricv left14:20
kanru left14:21
atom doener_: learning git properly will do me some good someday :)14:21
DavidBoman left14:21
atom 'till then, I'm cp -r'ing everything just to be sure :)14:21
doener_ atom: and if that doesn't work, you could still ask git for a diff like this "git diff $old_branch^:oldfilename $old_branch:newfilename" and just apply those using patch14:23
atom doener_: I'm still reading the manpage of git-cherry-pick14:24
botanicus_ joined14:27
rmh3093_ joined14:28
rmh3093 left14:29
atom doener_: thanks.14:29
doener_ atom: just tried that, cherry-pick didn't work for me. http://git.pastebin.com/m14f72062 -- that's the "somewhat manual" way14:29
cherry-pick caused a bunch of conflicts, as the rename detection "failed" and it tried to patch the wrong file14:30
the paste has a complete example for a single file, using "git diff" and patch14:30
atom yeah, saw that. I didn't really go through with it.14:31
I just committed the changes. It's not like anyone's gonna go browsing through this history.14:31
doener_ should stop doing lenghty paste noone needs :-/14:32
atom doener_: I read it through though14:32
zjshang_1 joined14:34
zjshang_1 left14:34
zjshang_1 joined14:34
chrisb joined14:35
giom left14:36
giom joined14:39
mithro left14:41
mithro joined14:42
kanru joined14:45
charon left14:48
chris2 joined14:53
MK_FG left14:54
MK_FG joined14:55
zjshang_1 left14:55
botanicus left14:56
frq1_dave joined14:56
Oejet joined14:59
jackdempsey joined15:03
priidu left15:06
cedricv joined15:07
Pakorrerme Hi15:10
leachim6 left15:10
jdahm left15:10
Pakorrerme gitosis doesn't export to me the file gitosis.conf why?15:11
I'm using debian15:11
yoh joined15:11
leachim6 joined15:11
yoh is there any tool to draw 'collapsed' tree of branches -- ie avoiding regular commits but just merges -- to see what is the 'interaction' between the branches? (I didn't find anthing like that in gitk unfortunately)15:12
Arrowmaster Pakorrerme: the post update (i think thats it?) hook might not be +x15:15
priidu joined15:15
spearce yoh: no. nobody has created such a tool to show only merges.15:15
thiago left15:16
pasky shouldn't that be pretty easy?15:16
uau left15:16
pasky 1. git rev-list --parents | grep '.* .* .*' | cut -f ' ' -d 115:16
jackdempsey left15:16
pasky 2. ???15:17
3. PROFIT15:17
spearce true, but uh, no fancy graph.15:17
pasky well15:17
spearce and you've cut away edges that may be needed to show the graph.15:17
pasky the ??? involves feeding that to gitk15:17
hmm15:17
that's a good point ;)15:18
charon joined15:18
uau joined15:18
Mikachu find the code for --no-merges and reverse the condition :)15:18
spearce well, that gives us what pasky said. which won't feed gitk nicely.15:22
it'll be as bad as doing `gitk --reverse`. it plots horribly confused graphs, assuming it can even plot it at all15:22
pasky I could prefix non-merges with -15:22
vbabiy_ joined15:22
pasky since it's kind of like ouboundary15:22
and gitk could have a way to15:22
get the list of commits on stdin15:22
would that work?15:22
I'm no tfamiliar how does gitk actually use the mysterious left-right, boundary etc. stuff15:22
(actually, I don't know what the hell --boundary actually is since the documentation is so totally unhelpful as usual15:22
mikachu: that's the same problem15:22
powr-toc joined15:23
Pakorrerme Arrowmaster, What do you refer to??15:23
jackdempsey joined15:23
powr-toc can you have a git submodule which is a project managed by git-svn?15:23
Pakorrerme Arrowmaster, please15:23
Arrowmaster sudo chmod 755 gitosis-admin.git/hooks/post-update15:25
Pakorrerme Does Anybody know why gitosis doesn't export to me the file gitosis.conf when I do a clone, thank you very much I'm hopeless15:26
Arrowmaster then try commiting to gitosis-admin again, or just amending the previous commit15:26
ereslibre left15:26
Arrowmaster wait you cloned gitosis-admin and it doesnt contain gitosis.conf?15:27
Pakorrerme Arrowmaster, yes15:27
It doesn't15:27
yoh spearce, thanks for the information15:27
pasky, thanks for quick attempt ;-)15:27
Arrowmaster does it have keydir?15:27
Pakorrerme neither15:28
yoh may be you would tolerate 1 more question from me: for cherry picked commits -- what is the easiest way to see all places where it was cherry picked to?15:28
cbrake_awaycbrake15:28
Arrowmaster i dont know maybe a messed up install?15:28
yoh in idial world gitk could draw an edge upon request from original commit to the places where it was cherry picked15:29
Pakorrerme I don't know15:29
Arrowmaster how did you install it?15:29
spearce left15:29
jwinkler81 joined15:29
Pakorrerme I installed git from repos15:29
and gitosis using git clone15:29
yoh and then if ever graph with 'no commits' comes up into reality -- adding "dashed arrows" to show from which branch to which some commits were cherry picked would be really great -- it would in 1 image summarize the general development workflow people of that git repository use15:30
Pakorrerme I have been all the morning trying to configure it without success :(15:30
mtodd joined15:30
ismell left15:30
Arrowmaster did you follow something like http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way15:30
Pakorrerme Yes it is15:30
I followed that link15:31
mountie left15:31
zawir left15:32
glennfu joined15:32
danlucraf1 joined15:32
glennfu Hello! I'm a noob to Git and I need a hand... I'm working in a single branch, and someone just made some changes and now I can't catch up to his changes15:33
pasky yoh: yes, that would be nice - are you planning to implement that? :)15:33
see also git cherry, git show-branch15:33
glennfu I have 2 files in the .gitignore file that Git is complaining need to be updated, and 1 file that I want to simply force-update to the newest version15:33
What do I need to do?15:33
yoh pasky, ;-) shouldn't be too hard I guess if combined with graphviz... but not sure if I am to accomplish the mision15:34
ebel joined15:34
rmh3093_ left15:34
pasky graphviz?15:34
spearce joined15:34
pasky i thought you wanted it in gitk?15:34
yoh in gitk it would be 'idial'15:34
for quick overview to build some clumsy graph graphviz might be the easier choice15:34
jaalto Is is possible to take of certain file 5 revisions backward in current branch?15:34
pasky spearce: oh, you are working at google now? or just visiting? :)15:34
jaalto: yes, using git checkout15:35
vbabiy left15:35
Pakorrerme Arrowmaster my .gitosis.conf inside my /home/git directory is empty15:35
jwinkler81 I have several files changed locally, and simply want to reset one file back to where it was at the last commit. I've checked docs and examples and nothing seems to work (in particular, using reset <file>, reset -- <file>, reset HEAD <file>. Any help would be much appreciated :)15:35
spearce pasky: actually working here. i've been here two weeks now.15:35
Mikachu jwinkler81: s/reset/checkout/15:35
jaalto pasky: Err. I don't want to lose current file15:35
pasky spearce: oh, cool15:35
rmh3093 joined15:35
Pakorrerme Arrowmaster, http://pastebin.com/m64d65c6315:35
Arrowmaster Pakorrerme: i have no clue and cant really help then15:36
DrFrasierCrane left15:36
Pakorrerme :(15:36
pasky jaalto: so, either you want to keep current file or take it 5 revisions back15:36
needa decide15:36
Pakorrerme maybe15:36
pasky spearce: what are you working on there, unless it's secret? :)15:36
doener_ jaalto: "git show HEAD~5:filename"15:36
jwinkler81 Mikachu: lol, thank you :)15:36
jaalto pasky: I explained poorly. I want to take a diff <current>..<current>~5 of certain file15:36
spearce pasky: we're really secretive. but i'm working on android. that's at least a known product. beyond that i probably cannot say anything.15:37
Pakorrerme Maybe the gitossis instalation was unclear15:37
pasky jaalto: then do? :)15:37
schacon joined15:37
jaalto doener_: Tahnks15:37
pjz spearce: bah, you should be working on jgit & egit!15:37
pasky spearce: I see, ok - have fun there :)15:37
yoh spearce, are you working to port it to ARMv4? ;)15:37
doener_ jaalto: that show command doesn't give a diff, but the file itself...15:37
pasky I've seen some android stuff pop up at repo.or.cz just few days ago ;)15:37
but I suppose thtat's just a coincidence15:37
Pakorrerme Arrowmaster, How Can i uninstall gitosis15:37
doener_ jaalto: to diff, just diff those two revisions and limit the output to that file using " -- filename"15:38
Arrowmaster delete it15:38
pjz spearce: oh yeah, count me in on wanting android on armv4 - I'd like android on my FreeRunner, please :)15:38
Pakorrerme I installed it from tar ball15:38
Arrowmaster, where?15:38
Arrowmaster i dont know ive only messed around with gitosis once or twice15:39
ereslibre joined15:39
jaalto doener_: Got it, thank you.15:39
Pakorrerme pfff15:40
glennfu left15:40
jwinkler81 left15:40
jackdempsey_ joined15:40
jackdempsey left15:41
spearce pjz: some of my time does go to jgit/egit development. google has this "20%" bucket.15:42
bongiojp left15:43
krh joined15:43
pjz spearce: ah, yeah, didn't know you were using it for that.15:44
Pakorrerme Arrowmaster, with who user i should have to generate de public key15:44
jschoolc joined15:45
Pakorrerme left15:45
powr-toc Sorry to repeat the question, but can git-svn be used to manage submodules?15:45
danlucraf1 left15:47
spearce left15:47
mountie joined15:47
LostInTheWorld joined15:48
docwhat joined15:48
spearce joined15:48
docwhat Hello! Is there some way to add in a different diff mechanism for .xml files?15:48
mithro left15:49
docwhat The current diff mechanism means that there are always conflicts when trivial changes are made in XML.15:49
Mikachu docwhat: see GIT_EXTERNAL_DIFF in man git15:49
doener_ docwhat: you can specify a custom merge driver15:49
Pieter and 'man gitattributes'15:49
Mikachu i don't think the diff mechanism has anything to do with merges though15:49
docwhat Mikachu: That's the diff viewer. I meant the merging process.15:49
Pieter docwhat: what you're really looking for is a custom merge driver though15:50
Mikachu you asked for a different diff mechanism15:50
spearce pasky, pjz: i'm not doing hardware support for android, and i know nothing about it, and besides, even if i did, i couldn't comment about whether or not we support (or will support) any particular hardware. at least not until after android launches and its code goes 100% open source.15:50
docwhat Sorry. I didn't know what term to use.15:50
How can I find out about custom merge drivers?15:50
doener_ docwhat: man gitattributes, as Pieter said15:50
Pieter spearce is busy converting the android code from perforce to git ;)15:51
babm joined15:51
vbabiy_ left15:51
spearce hah.15:51
babm left15:51
spearce there are some technical challenges behind open sourcing the code tree.15:52
digitalhobbit joined15:52
vbabiy joined15:52
spearce most of my 80% time is around those challenges, yes.15:52
yoh btw -- if anyone (like me) starts playing with that funky graph creation -- there is an example to draw full graph: http://git.or.cz/gitwiki/ExampleScripts#head-8f06066d9d57a06128491c0aef0d62f210c8b5cd15:52
Pieter and the 20% is jgit? :)15:52
Mikachu can you use your 20% time to sit at home and do nothing? :15:52
)15:52
docwhat doener_, Pieter : Thanks.15:52
netoman joined15:52
docwhat It looks like since the merge driver is specified in .config, it won't be passed through a clone... Is there a way to allow that?15:53
spearce no, you cannot use your 20% time to sit at home and do nothing. that might actually be a fireable offense. you have to use that 20% time to better yourself and/or better google.15:53
netoman Hello! Is there a way to cvsimport into a bare repo?15:53
botanicus_ left15:53
Mikachu okay, that is what i thought15:53
offby1 joined15:53
abizern left15:55
bobesponja joined15:55
docwhat How do you specify that .xml files should use a specific merge driver, then?15:55
spearce netoman: do the import using the cvsimport tools (or the fast-export.git based tools) and then mv .git ../proj.git to get a bare repository.15:56
docwhat Or will git try it automatically?15:56
robinr howdy Shawn15:57
I'm back.15:57
doener_ docwhat: same man page15:57
nutrimatt left15:57
offby1` joined15:57
spearce Pieter: actually more than 20% of my time is allowed to go egit/jgit. for various reasons we have decided to try and accelerate egit development. so some of my newer egit work is now copyrighted by my employer, as its on their time and equipment. very fuzzy lines.15:58
welcome back robinr.15:58
jschoolc left15:58
bartocc joined15:58
robinr spearce: that's good news15:58
Pieter spearce: ah, cool.. I don't care much for egit, but I like jgit :)15:59
spearce yea. given that egit is very dependent upon jgit, this push for egit improvements does trickle down into jgit.16:00
docwhat doener_: Ah-hah. I see. The page confused me. I set the attribute "merge." Are gitattributes passed via clone? If so, what happens when you use a custom merge driver, since the .config isn't passed via clone....16:00
offby1`` joined16:01
supercali joined16:01
sdiz joined16:01
netoman spearce: Great! Didn't know I could get rid of the working dir so easily... Thanks.16:01
kazim59 joined16:02
doener_ docwhat: you can track the .gitattributes file, just like you can do that with .gitignore16:02
docwhat Ah. But the .config would have to be set up some other way, though, right?16:03
It seems like there should be something like a .git-policy directory that contains things like default .config values, hooks, etc. So that they will survive a clone.16:03
kazim59 schacon: hey, what software do you use to create those awesome slides at RailsConf Git Talk?16:04
wildfire left16:04
Mikachu you don't want config and hooks to be on by default after a clone...16:04
schacon Keynote16:04
Mikachu echo rm -rf ~ >> hooks/pre-commit16:04
schacon or, the graphics?16:04
docwhat Mikachu: For an open source project, I agree...but when you trust your upsource, why not?16:04
kazim59 schacon: thanks! love your slides, and git :)16:04
schacon Omnigraffle16:04
kazim59 schacon: I don't know... both I guess.16:05
schacon: oh oh.. they are for OS X, only :(16:05
schacon yeah, sorry.16:05
you linux or win?16:06
kazim59 schacon: linux.16:06
schacon Dia and OO can probably get the same thing done16:06
garrin left16:06
kazim59 schacon: i wish to give a talk like that at my college about git.16:06
madduck anyone working on packaging topgit for debian?16:06
schacon I can export it to PP for you if you'd like16:07
kazim59 schacon: thanks a lot, but I guess I can extract slides from your presentation for my college, if your license allows that..16:08
charon left16:08
schacon yeah, np16:08
hobodave joined16:08
hobodave hi everyone, when using github, do 'forks' of a repository automatically stay in sync?16:08
kazim59 schacon: thanks!16:08
schacon hobodave: no16:09
hobodave thanks16:09
how do you sync it up then?16:09
offby1``` joined16:09
offby1``` left16:10
bugfux joined16:16
bts- joined16:16
schacon hobodave: it's just a clone - you can either remove it and add it again, or you can clone it, add the other as a remote and merge them yourself. and auto-fast-forward would be an interesting feature, though16:16
offby1 left16:16
towski joined16:16
cached joined16:16
schacon hobodave: I created a ticket for auto-ff to look into doing a bit later, if you want to follow it or comment on it : http://logicalawesome.lighthouseapp.com/projects/8570-github/tickets/805-auto-fast-forward16:16
hobodave cool, thanks :)16:16
awx left16:16
offby1` left16:16
tarbo_ joined16:16
wildfire joined16:16
awx joined16:16
enkrypt_ joined16:16
enkrypt left16:17
mranostay_work joined16:18
mranostay_work hello16:18
anyone know of a web frontend to gitosis?16:18
yoh is there easy way to get --children effect instead of --parents for rev-list?16:18
zawir joined16:18
kumbayo joined16:20
unreal left16:20
Tv mranostay_work: for what part of it? it integrates with gitweb16:20
mranostay_work sorry i mean for administration as well16:20
perezd88 joined16:21
Tv mranostay_work: that is against the project goals16:21
Pieter http://img.thedailywtf.com/images/200808/errord/packagingmadness.jpg16:21
heh16:21
Tv i mean, gitosis itself will not include a web user interface16:21
and any web ui anyone writes is going to be "interesting", as it's going to need to understand merges16:22
madduck does Petr Baudis hang out on IRC?16:22
Pieter yes, as pasky16:22
madduck pasky: hi! :)16:22
pasky hi ;)16:22
madduck fwiw, I think I will give an introduction to topgit to the debconf crowd in 2.5 hours16:22
pasky cool :)16:22
madduck http://debconf8.debconf.org/video16:22
if you want to watch and participate16:23
pasky: so i am going to try it out now and also create a debian package.16:23
2 hours is ample time to understand it, right? :)16:23
pasky I'm afraid I won't be online from now+1h to now+4h :( but I'll be sure to at least replay the talk when I come back16:23
madduck: well, hopefully ;)16:23
BTW please use HEAD instead of 0.116:24
madduck https://penta.debconf.org/dc8_schedule/events/233.en.html16:24
pasky: of course. :)16:24
offby1`` left16:24
madduck so i better get going so i have time to ask you questions within the next 55 minutes. :)16:24
pasky: btw, do you know bzr loom? does it compare?16:25
spearce i hate perforce16:25
bdiego joined16:25
tarbo left16:26
pasky madduck: I've heard about bzr loom few days ago from another debconf guy ;)16:26
but I'm not sure about its feature set, I didn't get around to try it myself16:26
madduck yeah, me neither16:26
Aikawa joined16:27
pasky I don't know how does bzr loom work in distributed environment and it seems to me it does not allow free-form dependencies16:27
madduck http://lists.alioth.debian.org/pipermail/vcs-pkg-discuss/2008-August/000271.html16:27
pasky but only linear ones16:27
foca left16:27
perezd88 left16:27
madduck yeah16:27
so pasky++ for doing it right. :)16:27
pasky ;)16:27
foca joined16:28
Pieter pasky: I don't think it works distributed (looms)?16:28
pasky oh, it doesn't?16:28
in that case loom would be more on par with stgit?16:28
Pieter I think so16:28
pasky in that case loom doesn't sound interesting at all, I think16:28
reel_ left16:28
pasky I thought the point was it is possible to have it distributed16:29
madduck i am pretty sure bzr loom is distributed16:29
madduck glares at $PREFIX/libexec/topgit16:29
Pieter ah, they are16:30
wildfire pasky, as far as I understand bzr loom is similiar to your 'topgit'16:31
it allows multiple people to work on a topic branch16:31
ilogger2 joined16:36
pasky madduck: I think it would be nice16:36
powr-toc madduck: so I don't need to do anything special?16:36
sweet.16:36
wildfire pasky, I do not known how it weaves those two things together16:36
machrider the only time you need to do anything special is when you interact with subversion16:36
the rest of the time, it's plain old git16:37
powr-toc machrider: cool16:37
pasky Pieter: ok16:37
Pieter: still don't understand your original sentence though :)16:37
Pieter pasky: then, when switching up, the changes in the threads down (the dependencies in topgit) are merged into the current thread16:37
pasky what is "switching"?16:37
probably not just like git checkout?16:37
Pieter actually, yes16:38
pasky oh16:38
Sho_ joined16:38
pasky so it's like automatically calling tg update on git checkout?16:38
Pieter yes16:38
pasky hmm16:38
curious16:38
madduck pasky: done.16:39
Pieter pasky: Integrating the changes from upstream into your loom is straightforward now. When you go up a thread bzr will automatically perform a merge, and you simply need to check that the merge came out correctly and then commit it.16:40
so it's like a merge --no-commit on checkout16:40
madduck thread == topic branch with one patch?16:40
(but many commits?)16:40
Pieter yes, exactly16:40
so a thread is really like a tg branch16:41
Oejet spearce: You sound old, and bitter. :P16:41
pasky I see16:41
well, I can't say I would identify with such a behaviour16:42
spearce Oejet: old, not yet. bitter, probably. but i'm not sure what comment of mine you are basing this on. its been a while since i said anything. :)16:42
pasky I prefer the user having to update explicitly16:42
maybe Oejet likes perforce16:42
j_engelh How could you like perforce??!!16:43
Oejet I have no reason to hate Perforce, because I never tried it. :)16:43
j_engelh perforce is slow like svn, to begin with.16:43
madduck pasky: bzr and git differ on commit/merging/updating/auto-doing stuff all over the place in this way16:43
Pieter I thought perforce was based for speed? :)16:43
*build16:43
j_engelh if it crashes twice a day?16:43
spearce perforce doesn't have fancy things like "git log --grep=foo -- path" like git. i miss it.16:44
madduck pasky: so assume I have master->A->B and master->C topic branches16:44
and now I create D to depend on A and C16:44
there will be conflicts in .topmsg16:44
is that by design? I don't see whyt .topmsg shouldn't just be recreated from scratch, rather than merged.16:45
ferdy joined16:45
Oejet Well, what does Perforce then have, that Git does not?16:46
vmiklos commercial support? (just guessing)16:46
madduck Oejet: better visualisation16:47
perezd88 joined16:47
Pieter I guess that's also why bazaar has been getting so much attention16:47
schacon single point of failure?16:47
:)16:47
Pieter the Canonical guys seem really keen on helping projects convert16:47
madduck you should be at debconf. :)16:47
every time someone says git, a canonical guy is around to argue16:48
well, that's immensely exaggerated. :)16:48
schacon Bazzar? Really? I was under the impression that bazaar was similar to git except much, much slower16:49
madduck apparently the speed issue has been fixed, but it's not similar to git at all16:49
Pieter Bazaar has some really weird conventions that differ from git16:49
madduck they both do the same thing (source control), but completely different16:49
Pieter and Bazaar is still pretty slow in my testing16:50
madduck pasky: another thing... after I created D to depend on A and C, there is no branch D created16:50
pasky madduck: that is a bug16:50
schacon oh, i thought bz used snapshot storage similar to git, not delta based16:50
pasky madduck: this should work16:50
(the merging)16:50
madduck instead, I am left on a detached head16:50
pasky does this happen with HEAD?16:50
madduck yes16:50
pasky that's strange16:50
will have a look on that16:50
Pieter schacon: yeah, but that's not really a pro or con for speed16:50
schacon i meant, in it being 'similar' to git - i figured it was slow because it's in python instead of C16:51
Pieter well, one of the storage models is based on the same model as git.. but they used to have delta storage and some other things16:51
madduck pasky: http://scratch.madduck.net/.tmp__vit.LSx11383 shell snapshot and http://scratch.madduck.net/.tmp__cdt.CkWx9455.tar.gz git repo16:52
Pieter storage model really doesn't matter at all for the end user16:52
ciaran29_ joined16:52
jas4711 joined16:52
selckin joined16:53
selckin left16:53
ciaran29_ left16:54
pasky madduck: what git version?16:54
madduck 1.5.6.316:54
pasky: ^16:54
selckin joined16:54
AhtiK joined16:55
lolage0 joined16:56
pasky tg: Please commit merge resolution and call: tg create16:56
I think you forgot this after git commit?16:56
shingo joined16:57
madduck pasky: yeah, that was it.16:58
pasky oh16:58
oh...16:58
what _shell_ do you use?! :)16:58
madduck zsh16:58
pasky I mean, your /bin/sh16:58
madduck dash16:58
pasky hm16:58
and it, um, doesn't know echo -e? ;)16:59
madduck i don't think so16:59
-e16:59
pasky pasky@pixie:~/src/topgit> git grep 'echo -e'16:59
tg.sh: echo -e ".topmsg\tmerge=ours"16:59
tg.sh: echo -e ".topdeps\tmerge=ours"16:59
:)16:59
that's the problem16:59
ok16:59
madduck ouch16:59
bashism. :)16:59
dato trivial to fix :)16:59
madduck pasky: do you have time to commit that fix still? :)17:00
*hint* *hint* :)17:00
pasky sure17:00
just pushed it out :)17:00
Pieter what's the fix then?17:00
pasky you'll need to rm .git/info/attributes17:00
Pieter ah17:00
foca_ joined17:00
madduck oh, I see how this works.17:00
yeah, that fixes things17:01
pasky: if you want I can also make a patch17:01
pasky what patch?17:02
madduck for the echo -e thing17:02
Pieter: echo ".topmsg<09>merge=ours"17:02
pasky as I said, it's already pushed out :)17:02
http://repo.or.cz/w/topgit.git17:02
madduck ah, missed that line17:02
thank you!17:02
pasky well, thanks for the report ;)17:02
madduck i love under-pressure talk preparation when the people related to the subject are on IRC17:03
Oejet madduck: How long until your presentation begins?17:03
Pieter how'd you fix a \n with an echo -e then?17:03
madduck Oejet: just under 2 hours17:03
Pieter: echo "bla bla17:03
"17:03
just include the newline17:03
Pieter that's not very nice17:04
madduck POSIX is not very nice. :)17:04
Pieter: or you use cat <<_eof17:04
heredocs17:04
or multiple echo calls.17:04
Oejet madduck: I cannot wait. :)17:05
madduck i hope you don't have too high expectations. :)17:05
chris2_ joined17:06
BabelO_ joined17:08
pasky I think I'll finally implement remote topic branches support tonight17:08
BabelO_ left17:08
madduck pasky: when i do tg export, the goal is a flattened series, right?17:09
for upstream. but the patches include .topdeps and .topmsg... :/17:10
pasky do they?17:10
they shouldn't17:10
madduck they do. :)17:11
pasky hmm17:11
they indeed do :)17:11
madduck hey, and how does one pronounce your name?17:12
Petr seems straight forward.17:12
npgoog joined17:12
pasky bah, stupid git-update-index17:12
madduck Baudis is that Bohdis or Bowdis?17:12
pasky Bowdis is closest, but it's "ow" as in "wow", not "bow" ;)17:12
madduck yeah, what I thought.17:13
adante_ joined17:13
madduck cool, this will be a fun, impromptu live demo. :)17:14
adante_adante17:14
pasky madduck: anyway, fixed, pushed out :)17:14
vbabiy joined17:14
madduck pasky: can you explain one last thing to me? with one cleanup only when you push upstream, do you mean tg export?17:15
so upstream never sees your tg branches17:15
pasky yes17:15
madduck but you export them to a patch series and then pull, cheryr-pick, format-patch, quilt etc.17:15
Zao joined17:15
madduck sweet. this is *awesome*17:15
pasky well it's not patch _series_, since it's still non-linear - but you can linearize that easily using git log's --topo-order17:16
madduck this seems to be *exactly* what was lacking from the debian git packaging workflow that I have been harping on and on about for almost two years now.17:16
pasky cool :)17:16
another thing is how well will this scale with many tens of patches; but we can always rewrite it in C ;)17:17
madduck sure thing17:17
what, the software is now 10 days old? :)17:18
see it first at debconf! :)17:18
npgoog left17:18
madduck where on the Rhine were you sitting when you hacked this up?17:19
pasky: ^17:19
pasky Basel17:19
madduck is from Zurich :)17:19
pasky cool :)17:19
telmich pasky: wtf? why are you so near?17:19
adante left17:19
telmich madduck: gossau ZH17:19
pasky lol17:19
adante joined17:19
pasky we gotta meet sometime ;)17:19
telmich ack17:19
madduck pasky: you live there?17:19
yoh gy gy -- I am progressing a bit with my "graphviz based git tree collapsed graph" -- now I just need to figure out (besides parsing comment) on to which branch that merge belonged at that moment -- could it be done easily?17:19
pasky I'm here from July to start of October17:19
summer internship17:19
telmich madduck: zurich city?17:20
madduck maybe in the context of http://openexpo.ch/17:20
telmich: oerlikon17:20
telmich madduck: that's in the midst of the week :-(17:20
madduck pasky: i am gone from zurich until sep 2317:20
pasky was in zurich two days ago ;)17:20
madduck i know, telmich.17:20
pasky I've been thinking about openexpo but it's in the middle of the week17:20
telmich pasky: and why did't you tell? ;-)17:20
pasky so that's probably not going to fly for me17:20
madduck i might come to basel on 26 september with a friend.17:21
pasky telmich: didn't expect many people from here to be from CH :)17:21
oh, cool17:21
telmich pasky, madduck: if you want to, we can meet here in gossau for an evening, there's plenty of space available at my home17:21
pasky sounds nice17:21
I also have some more friends in zurich I found out about only after I've returned from there ;)17:22
so I'll be probably going there at least once again yet17:22
telmich lol17:22
madduck lapse:~/.tmp/cdt.CkWx9455|test4|% tg update #825917:22
/home/madduck/.tmp/cdt.HLSx9918/libexec/topgit/tg-update: 90: Bad substitution17:22
telmich madduck: are you related to the ccc zurich or the lugs?17:22
madduck neither17:22
pasky anyway, plenty of time to arrange that yet - will be great to meet you guys though17:22
madduck not anymore at least17:22
pasky I really have to le...17:22
wha, bad substitution?17:22
telmich are you guys doing bashism? ;-)17:22
madduck pasky: I think action="${depline:0:1}"17:23
telmich yep, bashism17:23
pasky there is "fi" at line 90 of my tg-update17:23
hmm17:23
that's one downside of rhine17:23
I don't have offline SUS reference17:23
telmich pasky: hehe17:23
madduck is that substring extraction?17:23
telmich pasky: you've internet near the rhine17:23
adante left17:23
pasky not really17:24
madduck telmich: http://kerneltrap.org/mailarchive/git/2008/8/3/2795494, first para17:24
ijcd joined17:24
adante joined17:24
pasky there are some paid hotspots, but at points I don't use to sit anyway17:24
telmich pasky: depends on where you are; if you stay near the restaurant and a little bit into the east you've17:24
pasky "the" restaurant?17:25
LostInTheWorld joined17:25
madduck pasky: make sure to go to schaffhausen to see the rhine falls!17:25
pasky notes that :)17:26
Oejet madduck, pasky, telmich: I am also in ZH!17:26
madduck "Rheinfelden"17:26
pasky :)17:26
lol17:26
ijcd_ joined17:26
DrFrasierCrane joined17:26
madduck pasky: what does ${depline:0:1} and ${depline:1} do?17:26
pasky first one takes the first character17:27
madduck yeah, i just tried17:27
pasky second one trims the first character17:27
action="$(echo "$depline" | cut -c 1)"17:27
dep="$(echo "$depline" | cut -c 2-)"17:27
so this one should be equivalent17:27
madduck trimming is ${depline#*?}17:27
pasky can you check if that fixes it?17:27
huh17:27
Oejet pasky: I am looking for an internship.17:28
pasky why not just #? ?17:28
madduck don't know. :)17:28
pasky madduck: anywya, does it work for you?17:29
pasky thinks so far all topgit users were using bash ;)17:29
madduck the cut solution does, yes17:29
pasky ("those debian guys..." ;)17:29
madduck the subst one does not17:29
pasky ok17:29
madduck weirdlly.17:29
pasky hmm17:29
curious17:29
I'll just commit the cut one now17:30
can worry about performance later :)17:30
madduck yeah17:30
pasky ok17:31
pushed out17:31
and I'm really off now ;)17:31
good luck with the talk :)17:31
madduck thx17:32
amystrat joined17:34
ph^_ joined17:36
BugeyeD hi all. any way to imbed tags such as can be done with rcs (eg. $Id$ and $Log$) ?17:37
doener_ gitattributes(5)17:38
but for version numbers "git describe" is the better choice17:38
BugeyeD excellent, thanks! my google-fu is severely lacking ...17:39
doener_ *shrugs* To me, the $Id$ stuff is totally useless17:39
CodeOfficer joined17:40
BugeyeD i'm accustomed to 'head script' showing the relative version of a script, i'm just trying to replicate that with git. in my case, git won't be available on every box running said scripts.17:40
ijcd left17:42
bryanray joined17:42
telmich Oejet: where are you exactly?17:42
Oejet telmich: I watched your presentation at the Google Open Source Jam, although I did not get a chance to say hi. :(17:42
telmich Oejet: ahh, ok :)-17:43
Oejet telmich: 800617:43
telmich lol, so near17:43
hmm, did we already have a git talk at OSSJ in zurich? ;-)17:43
Oejet telmich: Hm, I don't know, but it could be very nice.17:45
Modius In a (solo) development mode where one tries to check in frequently upon incremental improvement, using GIT, is it idiomatically "done" that you just check these in as separate commits, or try to consolidate them into lower granularity commits through amending a prior?17:47
BabelO_ joined17:47
richcollins joined17:48
shingo left17:48
richcollins How do I show which files where modified for each commit when doing a git log17:48
??17:48
ph^_ left17:48
shingo joined17:49
vmiklos git log --name-status?17:49
man git-log :)17:49
chris2_chris217:49
BabelO_ left17:52
BabelO joined17:54
emlprime joined17:55
selckin i have a semi public repo at a certain url, if i replace it with a new one (i know, bad), and people try to pull from the new one with an old clone, will git complain graceful, or is there a chance to break their local repo to a point they can't recover their own changes?17:55
cypher23 selckin, git will complain17:56
but that's basically it17:56
git won't overwrite any local changes17:56
drizzd might still be confusing though. It's like changing all your history17:57
cypher23 yes17:57
rebasing their changes on your new history might also be a PITA17:58
selckin yea pita is fine ;), thanks17:59
rwaite joined17:59
adante left18:00
amystrat I created a remote branch and a tracking branch. If I make changes to local tracking branch and push, it states "everything up to date" and does not push changes to remote branch. Any ideas?18:01
adante joined18:01
eikonos joined18:02
richcollins Why would I get this error when pushing to a bare repo?18:03
fatal: hard reset makes no sense in a bare repository18:03
lolage0 left18:04
adante left18:04
rwaite left18:05
blowery joined18:06
adante joined18:06
ajonat joined18:07
albertito richcollins: do you have any hook activated?18:07
Mikachu rickrolling: you must have a hook enabled in there that tries to do a hard reset, presumably to update the working tree on push, which doesn't make sense on bare repos18:07
richcollins Hrm I don't remember adding one18:08
cypher23 amystrat, how did you push? simply "git push"?18:08
amystrat cypher23, yes18:08
albertito richcollins: is the bare on a windows machine, or are you accesing it through samba?18:08
richcollins no18:08
It is a linux machine18:08
I'll check for hooks18:09
johnw joined18:09
cypher23 amystrat, try "git push origin branch" (replacing origin and branch as needed)18:09
blowery left18:10
blowery joined18:10
blowery left18:10
adante left18:10
richcollins albertito: Ah looks like someone added an email hook18:10
amystrat cypher23, thanks that worked. I don't remember having to do that before18:10
Mikachu having reset --hard in an email hook seems... odd18:11
ehc joined18:11
cypher23 amystrat, how did you create the tracking branch?18:12
amystrat git --track localbranch origin/remotebranch18:13
cypher23 ^18:13
ehc left18:13
bcarlyon|laptop joined18:13
albertito amystrat: assuming you said git checkout --track -b localbranch origin/remotebranch; actually, --track is the default when the other one is a remote AFAIR18:13
lolage0 joined18:14
yoh hey guys -- so that collapsed tree drawing... here is an example of my endavour http://www.onerussian.com/tmp/graph_example.png18:14
Sjaq joined18:14
AhtiK left18:14
ehc joined18:14
yoh those dashed lines stay where multiple commits without merges (ie collapsed)18:14
cypher23 amystrat, ok. But I think push only pushes the branches you specify (or you can use --all)18:14
yoh also trying to color merges appropriately -- ie depending into which branch we merge18:15
amystrat thanks guys18:15
adante_ joined18:15
vbabiy left18:16
cypher23 amystrat, according to the manpage (for Git 1.6.0.rc2) you can use "git push :" to push all local branches that also exist remotely. haven't tried that one though18:16
amystrat cypher23: interesting, I will have to give that a try18:17
Oejet joined18:17
vbabiy joined18:17
charon joined18:18
Mikachu cypher23: isn't that the default?18:18
cypher23 amystrat, you can also do something in config for the remotes, to specify what gets pushed. see the man page18:18
Mikachu, ah. Yeah, you're right.18:18
adante_ left18:18
Sjaq left18:19
chrisb joined18:19
drizzd yoh: that would be a very nice feature18:19
yoh it would be a nice feature for gitk... but not sure if I am ready to jump in to patch it :-/18:21
adante_ joined18:21
david_koontz joined18:22
yoh and unfortunately building such a graph for a reasonably active project makes it quite huge18:22
drizzd you will probably have to understand gitk pretty well to do it18:22
warthog9 joined18:22
yoh drizzd, that too... and unfortunately have no time to do so heh heh18:22
drizzd hmm, maybe I'll look into it this weekend18:23
yoh drizzd, that would be cool18:23
drizzd I'm thinking eventually we might even want to leave out the merge commits and just show the branches/tags18:24
after all, it's not about individual commits any more18:24
joelr1 joined18:25
supercali joined18:25
drizzd but I like your idea because I think it should be doable with minimum changes to gitk18:25
yoh yeap -- that is what I was trying to grasp --- whenever you get into somebody's repository with a reasonable amont of branching -- hard to figure out workflow18:25
having such a 'summary' might help18:25
drizzd exactly18:25
joelr1 good day! i have shared access set up via git-shell but the files created keep acquiring g+r permissions instead of g+w. any way to fix that so that two people can commit?18:25
adante_ left18:26
yoh so it could be not even those blobs for merges but rather 1 timeline per each branch with arrows from to whenever merge occured (or cherry picking ;-))18:26
adante_ joined18:26
yoh do you know any efficient image viewer? I generated jpg for a real project and it is hard to view it -- image magic is difficult to scroll, gimp is slow, xzgv is crashing18:27
drizzd I use gimv (gimageview)18:27
or ghostview18:27
Mikachu i don't think anyone has bothered writing a partial jpeg decoder for huge images18:28
Oejet yoh: A browser might also work.18:28
drizzd or imagemagick18:28
adante_ left18:29
yoh Oejet, doh... sure ;-)18:29
drizzd Mikachu: what does that mean, 'partial decoder'?18:29
Mikachu drizzd: only decode what's shown on screen18:29
yoh firefox considers that jpg broken ... heh heh... lets see png18:29
Mikachu drizzd: a 100000x100000 jpg at 10MB will hardly fit in ram decoded18:30
rockbox decodes on demand when scrolling in the image18:30
ijcd_ left18:30
drizzd I see your point. But I'm sure you can also reduce the resolution of your camera ;-P18:30
Mikachu sure but we're talking about big generated graphs here18:31
yoh same for png... so the only choice is imagemagic but it is inconvinient.... -- that scroll 'preview' is too narrow to navigate in X direction18:31
file is 2977 x 3855518:31
;-)18:31
you are welcome to look http://www.onerussian.com/tmp/graph.jpg18:32
adante joined18:32
sgrimm joined18:32
yoh my code is still missing reliable detection of the original branch where that merge/commit occured -- is there any git way to deduce what was the branch?18:33
FH` joined18:33
amystrat left18:33
Mikachu you made my duck go upside down18:33
hm, it decoded but it only shows gray :)18:34
albertito my firefox hang himself with that image18:34
yoh gy gy -- firefox on my other box just crashed while opening18:34
so please be careful18:34
drizzd hmm, gimv fails to display anything but the top18:35
Daenyth|Work joined18:36
alb joined18:36
Daenyth|Work Does a git:// url always follow the form of "git://domain/projectname.git", or is it possible for it to be different18:36
Mikachu projectname can contain many slashes, but otherwise no :)18:37
Daenyth|Work mm18:37
vmiklos also you may omit '.git' if you configure the server that way18:37
Daenyth|Work ah18:37
damn18:37
hrm18:37
netoman I ammended a commit and now I can't push anymore... What happened?! Any clues?18:37
yoh inkscape is the winner!!18:37
Mikachu that's unexpected18:37
yoh it chooses too large font a bit but renders .svg nicely18:38
with nicely browsing ;-)18:38
albalbertito18:38
Mikachu oh not the jpg file?18:38
yoh Mikachu, nope... sorry for the confusion18:38
Oejet yoh: How big is the SVG file?18:38
yoh I generated also svg for it from the same .dot18:38
600k ;-)18:38
joelr1 left18:39
Daenyth|Work for anyone familiar with archlinux, I'm trying to find a way to allow a git:// url in the source array of a PKGBUILD... Trying to make a script which will automate either a clone/fetch, but I can't figure out a good way to make it work with $_gitname18:39
yoh aaa... I opened it in mozilla... now it is thinking -- you can grab it from the same url but with ext .svg18:39
Oejet yoh: I would guess your JPG image decompresses to about 450MB in memory.18:40
tweakism joined18:40
tweakism I just did git reset --hard HEAD^18:40
is there a way to undo that?18:40
Mikachu yes and no18:40
tweakism I just successfully wiped out 300 lines of code that were in HEAD but not in HEAD^18:40
Mikachu if you had uncommitted working tree changes, those are gone18:40
getting back HEAD is just a matter of git reset --hard HEAD@{1}18:40
assuming you've done nothing else since18:40
AhtiK joined18:41
tweakism Mikachu: you're awesome18:41
Daenyth|Work Mikachu: I'm not familiar with that @{} notation, would you mind explaining it?18:41
Mikachu man git-reflog :)18:42
Daenyth|Work fair enough18:42
tweakism Mikachu: I guess the proper way to remove all WIP changes is git reset --hard HEAD, not HEAD^1, eh?18:42
Daenyth|Work tweakism: yes18:43
Mikachu you mean uncommitted? yes18:43
Daenyth|Work or you can use git stash if you just need to put them aside for a short while18:43
and then work on them later18:43
albertito netoman: you can use git push -f, but *be aware* that if somebody has pulled your tree with the un-amended commit, you will make a terrible mess for him/she18:44
adante left18:45
adante joined18:47
sbahra joined18:48
Oejet madduck: Good luck. :)18:49
yoh ok... probably enough of experiments for me for today... python script I've used is now online http://git.onerussian.com/?p=code/snippets.git;a=blob;f=graphviz_plot.py;h=d16668fd9c27c0460b2f273a6991dd68ceb14851;hb=HEAD18:50
netoman albertito: Thanks. Nobody has pulled from it yet, so no problem.18:50
adante left18:50
yoh may be some time I will add subgraphs in there after better detection of the owning branches will get implemented -- it would be nice to have each branch in its own (most of the time) vertical (if possible)18:51
foca_foca18:51
DrFrasierCrane left18:51
adante joined18:52
Daenyth|Work __revision__ = '$Revision: $'18:52
how do you use tags like that with git18:52
adante left18:52
yoh nohow ;-)18:52
Mikachu Daenyth|Work: /topic18:53
albertito Daenyth|Work: man gitattributes18:53
Daenyth|Work thanks!18:53
yoh just elderly leftovers in my .emacs for automatically generated headers ;-)18:53
Daenyth|Work ew emacs ;P18:53
Mikachu oh wait, that url isn't in topic anymore18:53
Daenyth|Work: sorry :)18:53
Daenyth|Work hehe np18:53
thanks albertito18:53
Boman joined18:54
yoh albertito, hm -- thanks! I wasn't aware... not yet sure how/where to use but RTFM should help!18:55
albertito Daenyth|Work, yoh: you're welcome18:56
bcarlyon|laptopBCarlyon|Laptop18:56
Mikachu see http://tinyurl.com/yqpgv9 too18:57
ciaran joined18:59
yoh so it is a recent feature! cool... I started to panic that I didn't read manual / Linus' comments careful enough whenever I Started using git ;-)18:59
selckin is there an easy way to get a side-by-side diff from git diff ?19:00
Mikachu no19:00
yoh ah... what is wrong with me -- I mixed up 2008 and 2007 ;-)19:01
archis joined19:03
Mikachu also note the patch is rejected quite firmly :)19:03
CodeOfficer left19:03
CodeOfficer joined19:03
towski joined19:04
CodeOfficer left19:04
tweakism left19:09
vbabiy left19:09
alb joined19:09
vbabiy joined19:09
johnw- joined19:10
CodeOfficer joined19:12
CodeOffi_ joined19:12
ijcd joined19:12
CodeOff__ joined19:15
pygi joined19:17
ajonat left19:18
icwiener joined19:21
statim joined19:21
xazmine joined19:24
lea_w1 joined19:24
xazmine Is there a way to combine a whole branch into just one commit?19:24
lea_w1lea_w19:24
netoman I do git cvsimport and it imports an old revision of a file (1.21 instead of 1.22 wich is the latest). Am I doing something wrong?19:25
xazmine I'm using git-svn, and I'd like to commit a whole series of commits as just one commit to git-svn...19:25
Eridius|work joined19:26
ebel joined19:26
johnw left19:26
ciaran left19:26
ciaran joined19:27
CodeOfficer left19:29
davi_ joined19:29
ciaran left19:29
ciaran joined19:30
giom joined19:30
CodeOff__CodeOfficer19:30
giom left19:30
albertito left19:31
CodeOffi_ left19:31
yoh xazmine, man git-rebase , search for squash19:34
not sure if there could be some negative side-effects due to git-svn19:34
polpak joined19:34
ijcd left19:34
albalbertito19:36
ijcd joined19:42
focafoca|machito19:43
foca|machitofoca19:44
_bdiego joined19:44
_bdiegobdiego19:44
PeterFA joined19:46
nutrimatt joined19:48
ph^ joined19:48
jaushman joined19:48
jaushman while setting up gitosis I run "sudo -H -u git gitosis-init < /tmp/id_dsa.pub" and I receive the error "IOError: [Errno 13] Permission denied: '/home/git/gitosis/projects.list.12603.tmp'"...anybody have any suggestions on solving this?19:50
Tv jaushman: sounds like user git can't write to /home/git19:50
well /home/git/gitosis but still19:51
Daenyth|Work sounds like that to me also19:51
jaushman so, do I set that permission when I do "sudo adduser"? forgive me if my questions are remedial, but i'm new to Linux and Ubuntu19:54
k_dub joined19:54
jaushman the user is git and gitosis exists in /home/git19:55
Ademan joined19:56
rdavila_ joined19:56
pygi left19:57
Tv jaushman: did you create /home/git yourself?19:57
CodeOffi_ joined19:58
Daenyth|Work jaushman: can you getent passwd | grep git19:59
jaushman Tv: yes, as part of adduser using "--home /home/git \"19:59
CodeOff__ joined19:59
Tv jaushman: ls -ld /home/git /home/git/gitosis19:59
davi_davi20:00
giom joined20:00
k_dub left20:00
jaushman Daenyth: git:x:108:114:git version control,,,:/home/git:/bin/sh20:00
ls -ld /home/git /home/git/gitosis20:00
Daenyth|Work mm20:00
giom left20:00
Daenyth|Work looks ok20:00
jaushman drwxr-xr-x 5 git git 4096 Aug 11 14:59 /home/git20:01
drwxr-xr-x 8 root root 4096 Aug 11 14:39 /home/git/gitosis20:01
Daenyth|Work that's it20:01
chown -R git.git ~git20:01
as root20:01
Tv jaushman: how did that latter happen..20:01
Daenyth|Work sudo mkdir?20:01
Tv jaushman: ok well why ;)20:01
jaushman wow...i've been staring at this for hours and didn't see that20:02
pjhyett joined20:02
Tv jaushman: i recommend a cardboard dummy20:03
chris2 left20:04
davi left20:04
jaushman :D thank you both20:04
madduck pasky: so topgit coverage was short but I think between that talk and the debian package, you'll soon have a few new users20:11
better keep that shell script stuff POSIX-compliant! :)20:12
Daenyth|Work left20:12
Oejet madduck: Nice talk.20:12
egn joined20:13
madduck thanks dude20:13
markkalderon joined20:14
CodeOfficer left20:15
CodeOffi_ left20:16
CodeOff__CodeOfficer20:16
pasky hehe :)20:18
Oejet madduck: There has been some discussion about using vcs for package patch management in Fedora.20:21
madduck Oejet: i know. please let anyone know about vcs-pkg.org20:22
we really ought to be working together.20:22
Auris-- joined20:24
Oejet madduck: So you read the "RFC: Exploded source repo layouts" thread by Doug Ledford?20:25
neoeinstein joined20:26
madduck nope, where?20:26
Oejet http://thread.gmane.org/gmane.linux.redhat.fedora.devel/8903520:27
neoeinstein_ joined20:29
neoeinstein left20:29
emlprime left20:29
synsol joined20:31
neoeinstein_ left20:31
tvw joined20:31
neoeinstein joined20:31
synsol hey all, im almost scared to ask this here but is there a git for windows?20:31
doener_ in fact, two20:32
on for cygwin, on using msysgit20:32
Oejet Also the see posts by the same author under the earlier thread: http://thread.gmane.org/gmane.linux.redhat.fedora.devel.announce/181/focus=8847320:32
doener_ s/on/one/g20:32
madduck pasky: feature request #1 from the crowds: convert existing branches to tg branches20:32
neoeinstein left20:32
neoeinstein joined20:32
synsol really? do u know if either r good?20:32
fixUp joined20:33
neoeinstein left20:33
madduck Oejet: are you a fedora developer?20:33
Oejet madduck: No, I just lurk. :)20:33
_graham_ joined20:34
madduck ic, would you write a mail to the thread to let them know about vcs-pkg?20:34
i am on my way out now and will read the threads later20:34
ahti_ joined20:34
doener_ buys a "y", an "o", an "a" and an "e" for synsol20:34
bremner what is the state of tg? is it worth trying to use20:34
doener_ synsol: no, I don't know, I don't use Windows.20:34
synsol: the msys one is called msysgit (ask Google about it). On cygwin, you can use the regular upstream stuff I think20:35
rdavila__ joined20:35
Oejet madduck: I do not dare to post to fedora-devel. :D20:36
synsol k, thx, btw i dont use it either, unfortunatly an ignorant/stupid company i do work for does20:36
but they pay well so ill forgive them20:36
CodeOfficer left20:36
rdavila__ left20:37
madduck Oejet: alright.20:37
bremner: yes20:37
bremner madduck: thanks20:37
madduck pasky: if you need a series of all patches, then you have to create a tg branch that depends on all of them, right?20:37
djinni joined20:38
Oejet madduck: A search on "vcs-pkg" on the fedora-devel archive turns up nothing relevant.20:38
madduck yeah, i am afraid it hasn't spread much yet20:38
pasky madduck: the feature request is too unclear20:41
madduck: "series" usually means that each of the patch depends on exactly one other patch, except the first one20:42
jaushman newb still looking for help...running git clone git@<server>:gitosis-admin.git on local machine results in ERROR:gitosis.serve.main:Repository read access denied and i'm unclear where to look to resolve this permissions issue20:42
madduck pasky: i asked about it on the mailing list the other day. squashing tg trees into quilt series20:44
tg export basically20:44
and if you create a dummy tg branch which depends on all feature branches20:45
and export that, you should get a series across all feature branches, no?20:45
nonix4_ left20:45
redondos joined20:47
pasky ah20:47
yes20:47
madduck i wonder if it would make sense to provide a feature for this20:48
a squash-all feature20:48
pasky I call these dummy branches [STAGE]s (instead of [PATCH]es)20:48
madduck ok20:48
i would love a command20:48
tg make-series -o debian/patches20:48
which would (possibly using a file to limit) export all branches to files in debian/atches20:48
i suppose i could write thta. :)20:48
pasky what kind of files?20:49
madduck git format-patch output20:49
AhtiK left20:49
archis left20:49
madduck so 1. create stage branch, 2. export to tmp branch, 3. format-patch tmp branch to debian/patches/*20:49
maybe debian/patches/series could be used to determine the branches20:50
although no, that can't work20:50
pasky so something like tg export tmp; git rev-list master..tmp | xargs -l tg patch20:50
madduck the series file has to be created20:50
pasky er20:50
not tg patch20:51
git format-patch20:51
so also without the -l ;)20:51
madduck git-format-patch master at the top of tmp would do it all20:51
pasky ah20:51
yeah20:51
madduck git checkout tmp; git-format-patch -o debian/patches master20:51
pasky but I suspect in fact you want quilt series?20:51
madduck i'll hack this up later, okay?20:51
yeah. but aren't git-format-patch files quilt-compatible?20:51
pasky but there is no series file... it would make sense to have something like tg export --quilt debian/patches20:52
that would just do it all20:52
madduck yes, absolutely20:52
ph^ left20:52
rdavila_ left20:52
madduck including writing the debian/patches/series file20:52
pasky yes20:52
madduck that's a nice approach20:52
i need to run out for a bit20:52
if you havent' done it by the time i come back, i will. :)20:52
ttfn20:53
pasky ;)20:53
flask-- joined20:53
flask-- Is there a way to make a pattern in .gitignore that will make git track a directory but none of the files or subdirectories underneath it?20:54
Eridius|work flask--: git doesn't track directories20:54
flask-- hmmm20:55
doener_ flask--: just add a (tracked) .gitignore file in that directory20:55
that one can just contain *20:55
flask-- ahhhh20:55
tcoppi_ joined20:55
flask-- you can do per-directory .gitignores ?20:55
doener_ yep20:55
flask-- does the git happy-dance20:55
j_engelh dance? http://www.youtube.com/watch?v=UX6e7sO1ss020:56
flask-- heh20:58
yann_ joined20:59
yann_yann20:59
cilly joined21:00
flask-- http://photos1.blogger.com/blogger/6295/1280/320/dilbert.gif21:01
ckoehler joined21:01
glguy_ joined21:02
chrisb left21:02
glguy_ With a freshly git-gc'd repo, would one expect to see a performance difference in git-clone for http:// vs git:// urls?21:02
ckoehler how do you have two separate branches with features 1 and 2, if 2 depends on 1? i want code from both and use it together, by necessity, but want to keep them separate code wise21:03
hope that made sense...21:03
:)21:03
vmiklos glguy_: not really21:04
archis joined21:04
vmiklos the problem is that in most cases 1) you fetch, not clone 2) the repo is not freshly git-gc'd :)21:04
mw-home joined21:04
mw-home git seems hard to learn. where's a good place to start?21:04
j_engelh fetch not clone, shaken not stirred...21:05
polpak ckoehler: submodules possibly?21:05
doener_ ckoehler: what do you mean by "separate"? Obviously, they can't be totally separated when 2 depends on 121:06
dragonball_ joined21:06
pasky so, how does debian/patches look like?21:06
are the patches numbered?21:06
mw-home left21:07
ereslibre joined21:07
doener_ glguy_: clone shouldn't show any noteworthy differences. But fetch might. While git:// users only get a pack that contains what they need, http:// users will have to download the whole new pack, which can mean quite some overhead because they obviously download all the objects that you already have then21:08
s/you/they/21:08
pgregory joined21:09
pgregory hi all21:09
can anyone help me to understand a merging scenario I've got?21:10
j_engelh real questions please...21:10
pgregory I'm struggling with the basic concepts of git, and really want to grasp it.21:10
doener_ only if you care to explain it...21:10
pgregory sorry, I'll get to the point21:10
elux joined21:10
elux hey guys21:10
Oejet mw-home: What other VCS's do you know?21:11
ckoehler doener_: no, not totally separate21:11
fixUp left21:11
elux how can i convert a svn repository into git?21:11
fixUp joined21:11
doener_ elux: git-svn21:11
ckoehler just two different branches, features that are being worked on at the same time21:11
but one depends on the other21:11
pgregory I have a local repo that has come from git-svn, I did git-svn init https://...., followed by git-fetch -r236821:11
ckoehler so eventually they will end up in the same branch, or master21:11
Eridius|work pgregory: not -r2368:HEAD ?21:12
ckoehler but for development, they are in two branches21:12
pgregory Eridius|work: I then did git-svn fetch, so yes in the end it is.21:12
ckoehler i guess they don't have to be dependent on each other even21:12
doener_ ckoehler: assuming that "2" doesn't involve any merges, you could rebase 2 when you changed 1. But that's only a choice if you keep 2 local and don't push it out21:12
ckoehler just two features, in two branches, that i want to see at the same time21:12
pgregory and then I have git-svn and master, so I branch for work, using git checkout -b refcount21:12
and now I have git-svn master and refcount, just as I want, all of which mirror the current HEAD of the SVN repo.21:13
ckoehler doener_: right, but then code from 1 is in branch 221:13
QuercusMax joined21:14
doener_ ckoehler: if 2 depends on 1, the code _must_ be there *confused*21:14
ckoehler doener_: ya, sorry, scrap the dependency21:14
pgregory now, elsewhere I have another repo, that was originally based off the same SVN repo, but an earlier revision, and has some changes on it in a branch called attributes.21:14
ckoehler i have two separate features that are awesome21:14
pgregory I want to get the changes from the attributes branch into the refcount branch.21:14
ckoehler and i want to see them in a dev build at the same time21:14
doener_ ckoehler: and you can easily limit eg. log output with "git log 1..2", or diff output with "git diff 1...2"21:14
pgregory and I can't get my head round how.21:14
ckoehler doener_: hm yeah...21:15
isn't there some kind of patch management app for git?21:15
so you can stack patches around?21:15
not sure if it would help here21:15
pgregory anyone got any advice?21:15
doener_ ckoehler: just use a scratch branch for testing. "git checkout -b tmp master; git merge 1; git merge 2; #Do some testing#; git checkout master; git branch -D tmp"21:16
pasky ckoehler: plenty of them21:16
ckoehler: you can use just git with rebase -i for that21:16
ckoehler: or you can use stgit or guilt21:16
ckoehler: or if you ahve special needs, you can try for topgit, but it's still in very early development21:16
ckoehler doener_: good point21:16
pasky: that's a lot of options, thanks!21:16
doener_ pgregory: you repos are "incompatible" in so far that the two git-svn imports created different commits21:17
pgregory doener_: right, so am I stuffed then?21:17
doener_ pgregory: no. You only want the stuff in "attributes" that is not in "git-svn" in the same repo, right?21:17
pgregory doener_: yes21:18
doener_ pgregory: btw, you were the one with the home/laptop/work git-svn setup, right?21:18
pgregory doener_: yes21:18
doener_ osiris or something :-)21:18
pgregory doener_: good memory :)21:18
doener_ ok, do you remember the git rebase command I gave you back then?21:19
glguy_ left21:19
pgregory doener_: unfortunately, after much reading I still don't feel much closer to proper understanding :(21:19
glguy_ joined21:19
pgregory doener_: yes, roughly, although I have to admit I didn't fully understand "why" that worked, and reading and re-reading the git-rebase manpage hasn't helped at all.21:20
doener_ ok, we'll need basically the same thing again21:20
digitalhobbit_ joined21:20
loincloth joined21:21
doener_ let's try to understand rebase once more then. Gimme a moment to prepare something21:21
pgregory doener_: really appreciate your help, I have a feeling that proper understanding of git would be a real benefit.21:21
Ryan52 joined21:21
Ryan52 left21:22
flaguy joined21:23
lolage0 left21:24
doener_ pgregory: http://git.pastebin.com/m4299a0dc -- that creates a simple git repo with two branches and shows the result in gitk. I'll use that for some explanations21:24
pgregory: let me know when you got the gitk running21:24
dramsay joined21:25
Modius Matthew Lamari21:28
skyweb joined21:29
SjB joined21:29
derRichard left21:33
vbabiy left21:33
polpak left21:34
pgregory doener_: sorry, got disconnected21:35
doener_ np21:35
redondos left21:35
BabelO left21:36
BabelO joined21:37
doener_ pgregory: but you got the paste url, right?21:37
pgregory yep, done21:37
thannoy joined21:38
doener_ ok, so in gitk, you should see that the side branch forked off at 221:38
pgregory yep21:38
j_engelh fork at 2, news at 11?21:38
doener_ pgregory: so master and side-branch have two commits in common (1 and 2)21:38
pgregory right21:38
xazmine left21:39
doener_ pgregory: and each of the branches has two commits that are only in one of the branch, the "a" ones in master and the "b" ones in side-branch21:39
pgregory yep21:39
doener_ now, when specifying revisions, you can say, for example, that you want commits that are in side-branch, but not in master. That is "side-branch ^master" or just "master..side-branch"21:40
elux left21:40
doener_ in this case, that range would contain 3b and 4b21:40
pgregory doener_: what does master..side-branch actually mean?21:41
doener_ just what I said above. "master..side-branch" == "side-branch ^master". The ^ prefix means "not". So that's the commits that are reachable from side-branch, but not from master.21:41
where "reachable" means that you can walk the graph that you see in gitk downwards. That is, you follow the edges in the graph from the child to the parent, but not the other way around (it's a directed graph)21:42
Sylia joined21:43
doener_ so from "side-branch" you can walk to 4b, 3b, 2 and 1, but not to 3a and 4a21:43
similarly, from master you can reach 4a, 3a, 2 and 1, but not 3b and 4b21:44
BabelO left21:44
tlyng joined21:44
BabelO joined21:45
doener_ pgregory: still unclear?21:46
BabelO left21:46
pgregory doener_: sorry, just trying to digest21:48
doener_ no problem, take your time.21:48
pgregory right clear21:48
the syntax seems a little odd to me, .. is used as a 'range' operator in Ruby that I'm working with at the moment.21:49
ckoehler left21:49
richcollins left21:50
Eludias pgregory: In that case, be prepared that '...' is also something else.21:50
doener_ right, that's what comes next :-)21:50
pgregory Eludias: cheers, I'll be sure to read up21:50
Eludias pgregory: '..' is also a kind of range operator (depending on the git command)21:50
doener_ "master...side-branch" is similar. It means "all commits that are reachable from either master or side-branch, but not from both"21:52
Eludias pgregory: For example, 'git log a..b' shows _all_ revisions from a to b, while 'git diff a..b' shows _only_ the difference between a and b (so is independent on the intermediate revisions).21:52
doener_ (note that with diff the meaning of .. and ... is different, because you don't specify ranges there, but let's ignore that for now)21:52
pgregory: for some practice, which commits are in the range master...side-branch?21:53
dragonball_ left21:53
kinection joined21:54
kinection how do you update a submodule? it seems like git submodule update is now doing anything.21:55
*not21:55
the item is registered in .gitmodules21:55
selckin did you init it?21:56
kinection there are files in there21:56
i'm fairly sure i did in the past21:56
i did it again21:57
wildfire Eludias, btw both of those commands will work the same without the '..' in them (as I learnt a few weeks ago)21:58
doener_ wildfire: no, for log "a b" and "a..b" are quite different. For diff they're the same though21:59
ereslibre left21:59
pgregory doener_: 3a,3b, 4a, 4b21:59
doener_ pgregory: right21:59
pgregory: ok, so let's move on to the rebase. You got the required basics now22:00
cbrakecbrake_away22:00
doener_ the "full" format for rebase is: git rebase --onto <onto> <upstream> <branch>22:00
pgregory: what rebase does, is that it tries to create new commits that introduce the same changes as some existing commits, but on top of a different base commit22:01
glguy_ left22:02
jdarius joined22:02
doener_ pgregory: say you have two patches that apply to version 1 of your program. Now version 2 is done and you want to update your patches.22:02
jackdempsey joined22:02
doener_ pgregory: so instead of using version 1 as the base for your patches, you now want to use version 222:03
tona joined22:03
tona left22:03
doener_ pgregory: and that's just what rebase helps you to do.22:03
pgregory: let's first look at the commits that rebase will try to "replay".22:04
pgregory: and luckily, that's quite easy, because that is just <upstream>..<branch>22:04
pgregory: let's say we want to move 3b and 4b, so that instead of 2, 3b has some different parent22:07
pasky madduck: (it's implemented)22:07
tcoppi_ left22:07
doener_ pgregory: the rebase command would then look like this "git rebase --onto <onto> master side-branch"22:07
pgregory: because as we have seen earlier, "master..side-branch" contains just those two commits, 3b and 4b22:08
pgregory: let me know when you digested that or if there are any questions22:09
_graham_ left22:09
supercali_ joined22:09
jdarius i'm trying to git push origin master ssh:path/to/rep ... Q: how do I specify my username on the remote machine? (eg, "--user jdarius")22:09
bugfux joined22:10
kinection left22:10
\ask- joined22:10
rmh3093 joined22:11
ereslibre joined22:12
jdarius is there a flag for that? I'm not too clear on git syntax conventions22:13
DrNick use normal ssh syntax22:13
i.e. user@host:path22:13
doener_ jdarius: that push command makes no sense. You're trying to push a branch called ssh22:13
DrNick and there's also that, too22:14
cbreak joined22:14
doener_ jdarius: it's either "git push $remote_name $refspecs" or "git push $url $refspecs"22:14
jaushman left22:15
pgregory doener_: did you mean "git --onto <onto> master..side-branch" ?22:15
oh no, sorry just read22:15
jdarius reading up on this. thanks DrNick and doener_22:15
doener_ pgregory: :-)22:16
pgregory the rebase takes the two last parameters and effectively does the ..22:16
confusing22:16
joydivider joined22:16
doener_ pgregory: not necessarily. The thing is, you always rebase a branch, thus the name <branch>.22:17
pgregory so it considers all commits in that branch up to the fork?22:18
doener_ pgregory: The <upstream> parameter defines your, well, upstream. You obviously don't want to alter things that are in your upstream22:18
pgregory: right, in this case it simply walks up to the forking point. With a more complex history, the walking might not be as easy, but the idea stays the same.22:19
pgregory I'm trying to work out in my head what git will actually do, will it reapply the diffs for all thos commits to the HEAD of the current branch?22:20
doener_ we didn't define that yet. So far, we only talked about the set of commits that it will try to re-apply22:20
Auris--Auris-22:21
WALoeIII joined22:21
doener_ Let's look at the upstream once more. Say you have "git rebase --onto <onto> origin/master master".22:21
In that case "origin/master" is your upstream. Stuff that comes from some other repository on which you based your work.22:22
So that rebase command would re-apply your commits in master that are not in origin/master. In other words: Your local commits.22:23
tusho joined22:23
doener_ ok. Next stop: <onto>. That specifies the commit onto which you want to re-apply.22:24
That's simple, right? ;-)22:24
so: git rebase --onto master master side-branch22:25
pgregory: what do you expect that to do?22:25
comex joined22:25
supercali left22:25
eternaleye joined22:27
pasky hm22:27
for the last 1.5 months, t/t5540-http-push.sh is broken22:28
tcoppi joined22:28
pasky but noone cares22:28
pasky wonders if there's anyone in the world ever running this test ;)22:28
madduck pasky: :))22:29
pgregory doener_: errm, reapply the changes on sidebranch to master at teh HEAD? i.e. 3b forks from 4a?22:29
ijcd left22:29
vmiklos pasky: given that you need to do more than a 'make test' to run it, not too much people ;)22:30
doener_ pgregory: try to avoid using HEAD or so for now (looks like you misunderstand that, we'll look at that later). But the general idea is right22:30
pgregory: it takes the changes from 3b and 4b (ie. master..side-branch) and replays them on top of 4a22:31
pgregory yep, that's what I thought22:32
doener_ pgregory: ok, so that's done for now. Now <branch> has another purpose other than just specifying the right hand side of the range.22:33
pasky madduck: is tg export --quilt satisfactory for you now?22:33
doener_ After the rebase, <branch> is also updated to point to the result of the rebase.22:33
pasky the code turned out to be amazingly simple22:33
doener_ pgregory: so in this case, when the rebase is done, side-branch is updated to point to the new 4b commit22:33
pgregory doener_: would it much up the lesson if I did that now?22:34
just to see it visually in gitk.22:34
doener_ pgregory: it would get you a bunch of conflicts due to the setup of the example22:34
pgregory oh22:34
doener_ I'll quickly adjust that22:34
pgregory right, of course, silly me22:35
codeshot joined22:35
pasky hopes gitster's back is alright again22:36
doener_ pgregory: http://git.pastebin.com/m3a5c9bcc22:36
pgregory: with that one, you can try the rebase22:36
supercali_ left22:37
madduck pasky: about to try it out.22:37
lu_zero joined22:37
Oejet left22:37
supercali joined22:37
madduck as i am packaging my first topgit-using package: topgit itself. :)22:37
jdarius ok, drnick and doener_ , I got it. For posterity, I was confused about what my 'git remote add' command in the previous step was doing.22:39
jaalto Is it normal that "git fetch -v" does not display a thing? I would expect to seen "Connecting...done" at leat if nothing is fetched.22:39
pasky madduck: :)22:39
doener_ jdarius: -v makes it quite talkative here, even if there's nothing new to fetch: http://git.pastebin.com/m6b88d7ef22:41
jaalto I have 1.5.6.322:41
doener_ sorry, I meant jaalto22:41
1.6.0rc2 here22:41
jaalto doener_: That's more like it (pastebin). I wonder if it makes any difference that the repo is under superrepository.. But still.22:42
doener_ pgregory: oh, oops, the new example has a bug in it that causes it to miss the "1" commit. But that doesn't make much of a difference22:43
jaalto I also tried "git ls-remote origin" and it came empty. But I have repos downloaded from there as seen by "git branch -b"22:43
doener_ branch -b?22:44
jaalto -a22:44
doener_ maybe the remote repository got wiped or so?22:44
pgregory doener_: done, makes sense now22:45
doener_ jaalto: your remote branches get only deleted by "git remote prune", not by plain fetching22:45
cilly left22:45
pgregory doener_: in gitk I get effectively one long chain of commits.22:45
doener_ pgregory: right22:45
pgregory presumably if I changes something and committed on master now, I'd see the familiar fork?22:45
doener_ pgregory: exactly, because master still points to 4a22:46
jaalto doener_: Hm, I tried to clone th repository again (not mine; 3rd party). and this time it reads: "warning: remote HEAD refers to nonexistent ref, unable to checkout". So something is fishy or the repository is no longer there.22:46
pgregory right22:46
doener_ jaalto: yeah, looks like the remote repo got wiped or so22:46
pgregory doener_: it's starting to gel now, and I think I can see the solution to my problem in the details.22:47
doener_ pgregory: ok, you know about the commit^ and commit~ syntax, right?22:47
pgregory doener_: no22:47
jaalto doener_: Shouldn't the fetch say with -v something about that?22:47
doener_ jaalto: the repo is just empty, it's still a repo. clone complains because it actually needs to use HEAD, fetch just sees that there is nothing and thus does nothing22:48
jaalto: Might be a welcome addition to have some diagnostic message though22:49
jaalto doener_: Indeed. Plain <empty> is a little exotic.22:49
doener_ pgregory: ok, first, the ^n syntax. With that one, you select a parent of a commit22:50
bugfux left22:50
rdavila joined22:50
jaalto doener_: Thanks.22:50
doener_ pgregory: so "master" points to the commit 4a, master^1 selects the first parent of master22:50
pgregory: so in the example, that's the 3a commit22:50
pgregory doener_: oh, yes, sorry misread your comment, I thought you meant "git commit^"22:51
doener_ pgregory: as a shorthand, master^ is the same as master^122:51
pgregory doener_: yep, read up on most of that.22:51
doener_ ok22:51
then for some more practice, recreate the second example, and then come up with a rebase command that creates a graph where 4b is a child of 3a22:52
ivarv joined22:52
tlyng left22:53
pgregory doener_: ok, give me a sec.22:53
doener_ side-branch should point to the new 4b after the rebase, and 3b should not be in side-branch anymore22:53
tlyng joined22:53
jaalto doener_: It looks like the project is dead. How do I remote this subproject from the superproject?22:53
doener_ jaalto: no idea, didn't use submodules yet22:54
ivarv newbie q: i've got a local repo with a bunch of changes. I would like to reset *some* of those changes (ie: bring back a directory I deleted on the filesystem, but not via git). Is this possible ?22:54
doener_ ivarv: so you didn't commit that deletion yet?22:54
ivarv doener_, nope22:54
jaalto doener_: ok, I'll skim the docs to refresh22:54
doener_ ivarv: then "git checkout HEAD -- directory"22:54
icwiener left22:55
ivarv doener_, awesome ! thanks so much22:55
doener_, i would never have thought of checkout.. I was looking at revert and reset..22:55
ft joined22:56
johnw- in I want my server's repo to contain an up-to-date working tree, it's enough to put "git reset --hard HEAD" into hooks/post-update, right?22:56
charon so i'm preparing a patch series that depends on jc/post-simplify in the middle of it (i.e. i want 2 patches in master, and 1 kept queued until later), but that dependency will inevitably result in conflicts22:57
should i somehow send along the merge diff?22:57
if so, can format-patch do that for me?22:57
_jarod joined23:00
pgregory doener_: nope, can't do it23:03
doener_ pgregory: ok, let's start with the --onto parameter. Which argument would that require?23:03
pgregory I can get all of side-branch to fork off 3a using "git rebase --onto master^ master side-branch" but can't work out how to select only 4b to rebase.23:03
doener_ ok, the --onto is correct, the side-branch as <branch> is also (obviously) correct23:04
pgregory: now remember what we said about which commits get replayed. There was a simple rule to get the range.23:05
polpak joined23:05
jdarius left23:05
dwmw2dwmw2_gone23:05
doener_ pgregory: your command uses the range master..side-branch23:05
pgregory doener_: <upstream>..<branch>23:06
doener_ pgregory: but you need a range that only contains 4b23:06
pgregory hmm23:06
skyweb left23:07
pgregory side-branch^ side-branch?23:07
flaguy doener_: in your running example with pgregeroy, second paste, line 9: s/file/file1/ Yes?23:07
doener_ exactly, just that the range needs ".." in between (but not the rebase command)23:07
flaguy: yep23:07
rdavila_ joined23:08
pgregory doener_: yeah, I was offering the arguments to the rebase command23:08
pgregory just tries this...23:08
doener_ ok, just wanted to clarify. And yeah, trying that is a good idea23:08
Hobbes joined23:09
pgregory done, and all makes sense, but what's happened to 3b?23:10
doener_ pgregory: that commit (as well as the old 4b) is still around. There is just currently no ref pointing to it, so gitk doesn't show it23:10
pgregory right, just to clarify in my head...23:10
rebase arguments, --onto defines the commit that the changes are grafted onto, and the other two define a range of commits by way of the '..' operator?23:11
doener_ pgregory: try this: recreate the starting repo, then "git branch old-side-branch side-branch" ot create a second ref pointing to 4b, then do the rebase, and look at the results in gitk23:11
pgregory: yep, that's quite a valid way to remember how rebase works. Just that the last argument also specifies the branch that gets updated to point to the result of the rebase23:12
zdennis joined23:13
pgregory doener_: hmm done that, but the gitk graph is not easy to follow.23:13
ereslibre left23:14
exg_ joined23:14
ereslibre joined23:14
Cap_J_L_Picard joined23:14
pgregory doener_: ahh right, gottit.23:15
doener_ not as hard as it looked, right?23:15
pgregory right23:15
doener_ ok *phew* ;-)23:15
Sput joined23:15
EgS joined23:15
pgregory just confusing with the crossing edges23:15
polpak left23:16
pgregory so, now I think I have the tools to rebase the attributes changes onto refcount.23:16
doener_ ok, there are a few shorthands for rebase. First, <onto> defaults to <upstream>23:16
so "git rebase master side-branch" is the same as "git rebase --onto master master side-branch"23:17
tango_ damnit, svn is SLOW ...23:17
ebel left23:17
doener_ and <branch> defaults to the branch you have currently checked out23:17
pgregory doener_: so if I have side-branch, "git rebase master" would do the same?23:18
doener_ so if you have side-branch already checked out, "git rebase --onto master master side-branch" is the same as "git rebase --onto master master"23:18
rdavila_ left23:18
doener_ yep, if side-branch is checked out, "git rebase master" is also the same as "git rebase --onto master master side-branch"23:18
pgregory cool23:18
doener_ and that's probably also one of the most common modes of invocation23:18
I just started out with the full syntax, because I feel that it is easier to understand that way23:19
selckin if i run git commit in one terminal and have typed the commit message, then go change some code and git add it, then close my editor, will it pickup the changes?23:19
Oompa joined23:19
segher is there some config option (per branch) to say "git rebase" means "git rebase some-particular-branch"?23:19
doener_ selckin: good question. try it and report? :-)23:19
pgregory doener_: ok, just to make sure I've got it, that "commond mode of invocation" would be to merge changes back from a branch to the master?23:20
selckin doener_: /lazy, gimme sec :)23:20
doener_ segher: you can configure it so that "git pull" means "git rebase somebranch"23:20
pgregory: no. master is not affected.23:20
segher hrm... will that actually do some git fetch as well?23:20
selckin doener_: doesn't seem to .23:20
doener_ segher: yep.23:20
pgregory doener_: nope, sorry, bring master changes up to the branch, by reapplying the branch changes further up the master?23:21
segher i'll have to look at that again then, thanks23:21
doener_ segher: are we talking about a local or about a remote branch?23:21
cehteh joined23:21
doener_ segher: ie. master or origin/master?23:22
segher i usually do smth like git checkout master ; git pull ; git checkout work ; git rebase master23:22
doener_ segher: that's fine. Just specify the remote as . in the config. fetching from . doesn't do much as that's the repo itself23:23
you need to do that anyway as you rebase against a local branch23:23
devjj joined23:23
doener_ pgregory: yeah, that's more like it.23:23
devjj Is it possible to edit/delete a remote origin once added?23:23
doener_ devjj: git remote rm23:24
segher well, master really is just <some-remote>/master23:24
devjj doener_: Thanks.23:24
segher but i have it in a local branch "master" as well23:24
glguy_ joined23:24
pgregory doener_: thanks for all your help, much appreciated.23:24
SamB devjj: or you could edit your .git/config if you'd rather23:24
rdavila left23:24
johnw_ joined23:25
glguy_ is there a better way to revert specific uncommitted hunks than: git add -i (select the good code) ; git checkout FILENAME ; git reset FILENAME23:25
doener_ pgregory: ok, now to your actual task. You would add a the old clone (the one with the attributes branch) as a remote to the new repo (git remote add old-repo /path/to/old/repo)23:25
pgregory: then fetch from that remote: git fetch old-repo23:26
pgregory doener_: yep, done that.23:26
doener_ pgregory: then you have the attributes branch as old-repo/attributes23:26
then you create a local branch from that: git branch attributes old-repo/attributes23:26
and then rebase that branch23:27
segher glguy_: git add -i ; make sure you added everything you want ; git checkout .23:27
erm, commit first23:27
unreal_ joined23:27
doener_ pgregory: as <upstream> you just use the first commit in the attributes branch that you do not want23:27
glguy_ is: git checkout . like git reset --hard23:27
segher pretty much, yes23:27
pgregory doener_: all sounds good, I'll write that down and give it a got shortly.23:28
doener_ glguy_: no. "git checkout ." puts the contents of the index into the working tree23:28
Mikachu git checkout HEAD -- . is like git reset --hard, yes23:28
glguy_ while reset destroys the index23:28
segher doener_: well i did say commit first :-)23:29
Mikachu actually git checkout HEAD -- . and git reset --hard are not exactly the same23:29
segher is still scared of the index23:29
Mikachu if you have files in the index that aren't in HEAD, the checkout command will restore them too, if they're deleted in the working tree23:29
:)23:29
possibly23:29
johnw- left23:29
doener_ pgregory: good. Let me know how it works out23:30
pgregory doener_: will do23:30
pasky spends a minute trying to parse mikachu's statement23:37
pasky hum23:37
oh23:37
i get it \o/23:37
Mikachu pasky: it happens in some circumstances that i haven't determined exactly23:37
i didn't check "."23:37
pasky I just use these two intuitively23:38
and it *feels* that there are differences23:38
doener_ http://git.pastebin.com/m757dc58c23:38
pasky but my head just starts hurting bad when I try to consciously define them23:38
Mikachu they're more different when the argument isn't HEAD of course :)23:38
devjj left23:38
pasky well, that too :)23:38
Mikachu doener_: ah, but for full effect you should rm -rf a b first :)23:39
doener_ "git checkout HEAD -- ." first updates the index to _also_ cotain the contents of HEAD, _not_ deleting any additional files23:39
Mikachu but it shows enough23:39
doener_: i think that it is not desired behaviour though23:39
doener_ and then it updates the working tree in the same way, using the contents of the index23:39
Mikachu: it's described in the man page like that23:39
Mikachu yes, i asked junio and he said he would take a patch :)23:39
since them i'm optimistically bringing it up every chance i get hoping someone else will fix it :P23:40
doener_ ah, yeah, I was around back then, didn't remember who was the other one23:40
Mikachu: I'm reluctant to fix it, because if I down, Murphy will have made someone use that behaviour who will badly flame me ;-)23:40
Mikachu: plus, I have no clue how to fix it :-)23:41
x77686d joined23:41
Mikachu it seems unlikely someone would depend on it23:41
yeah me either :)23:41
madduck pasky: for export --quilt, I still need to create a tg branch that depends on all the feature branches I want to include in the export23:41
the stage branch23:41
pgregory doener_: ok, got it to work (I think) with "git rebase --onto refcount attributes^^ attributes" which reapplied the top two commits from attributes.23:41
pasky madduck: yes23:42
doener_ doesn't "unlikely" jsut beg to summon Murphy upon the one that fixes it? ;-)23:42
madduck unfortunately, both export and export --quilt includes a commit/patch/file for this branch23:42
which has "no changes"23:42
doener_ pgregory: yep, if those two commits are what you wanted, and you wanted them on top of refcount, then that's exactly the right thing23:42
pasky madduck: I think (i) export -a might make sense (export all the branches) (ii) export -n might make sense (exclude empty patches; tg summary can detect them, you can reuse the code)23:43
pgregory doener_: strangely though it wouldn't accept "git rebase --onto refcount attributes^2 attributes"23:43
doener_: and from the git-rev-parse manpage I can't see why.23:43
Mikachu pgregory: the shorthand for a^^ is a~2, not a^223:43
doener_ pgregory: ^2 is the second parent of "attributes". Only merge commits have more than one commit23:44
madduck pasky: and maybe even export -f $FILE to read those branches to export from a file23:44
zdennis_ joined23:44
pasky I'm not sure about that one23:44
pgregory oh, oops23:44
doener_ pgregory: attributes^^ is the first parent of the first parent of attributes. The shorthand for walking the first parents is ~23:44
madduck pasky: are you sure that "empty branches" can be ignored everywhere?23:44
bts- anyone here with git-svn experience know how to fetch externals now that23:44
doener_ pgregory: so, as Mikachu said, xxx^^ == xxx~223:44
pasky madduck: what do you mean?23:44
bts- .. now that --no-ignore-externals has been removed23:44
BOOKZ joined23:44
pgregory doener_: right, that makes it very clear now.23:44
madduck pasky: okay, then don't implement -f. This is something that can easily be done on top23:44
unreal joined23:45
madduck pasky: Imagine I have a tg set A->B->C and B happens to be empty23:45
BOOKZ I have an issue with Git.pm23:45
madduck so A->C actually23:45
pgregory that's great, thanks for all your help, not only have you helped to solve the problem, but more importantly, I understand how.23:45
madduck but I created it off B23:45
can B just be left out?23:45
I think so, just making sure23:45
pasky I can't imagine what the problem would be23:46
if not23:46
but, about -f...23:46
madduck neither23:46
pasky I'm not really happy with current tg export usage23:46
it's highly arbitrary that it always just exports current branch23:46
unreal_ left23:46
madduck well, then maybe we should reolve this before I create and upload the debian package?23:46
because it *will* get used a lot23:46
Mikachu maybe you should clearly mark it as subject to change too23:47
pasky but the usage *will* be volatile during the 0.n releases (though mind you, I hope and expect 1.0 to be at most few weeks away)23:47
madduck volatile is fine23:47
doener_ pgregory: about HEAD, I gave some explanations a few days ago. http://colabti.org/irclogger/irclogger_log/git?date=2008-08-08,Fri#l48823:47
madduck but if we already know that something will change, then we might just as well change it now and then upload. :)23:47
pasky well :)23:48
BOOKZ http://rafb.net/p/wkXPgf24.html23:48
pasky I mean...23:48
doener_ pgregory: from that one to about 8:08 on the timeline.23:48
WALoeIII left23:48
pasky tg export (--collapse BRANCH|--quilt DIR) [TOPIC]...23:48
this would be the natural usage, wouldn't it?23:48
agib joined23:48
j_engelh collapses23:48
BOOKZ http://rafb.net/p/wkXPgf24.html # this shell script does what I want (creates a diamond)23:48
pasky lol23:48
and when I see it written now, this is still backwards compatible23:49
so we're fine?23:49
j_engelh if it does not do stacks like stgit i am not going to use it :p23:49
BOOKZ http://rafb.net/p/SqZFTY15.html # this perl script doesn't (A4 is not a merge)23:49
(using Git.pm)23:49
pasky j_engelh: it can do stacks23:49
madduck pasky: so tg export actually takes a list of branches?23:49
madduck tries23:49
pasky madduck: no23:49
madduck: that's just the suggested usage :P23:49
j_engelh pasky: yeah but the last thing you showed me was a bunch of branches23:49
pasky *new23:49
*proposed23:49
*etc...23:50
j_engelh: it can do stacks and _MORE_ :)23:50
j_engelh hah23:50
madduck pasky: okay, that would be *nice*23:50
pasky BOOKZ: so what does the script do instead?23:50
j_engelh is it at least written in C/C++?23:50
chrisb joined23:50
pasky gives j_engelh a Look23:51
agib does anyone know how to display all branches *except* 1 with gitk? is there some sort of --all-but=branch option?23:51
pasky madduck: okay, it would be *nice* if someone sent me a cute patch overnight ;)23:51
agib: maybe try ^branch ?23:51
j_engelh but but but23:51
Mikachu agib: --all ^foo ?23:51
madduck pasky: to honour enumerated branches?23:51
pasky j_engelh: you're welcome to rewrite tg summary in C23:51
it'd be great help, actually :P23:51
j_engelh ^foo does not work23:51
pasky madduck: yes23:51
madduck: and another patch for -n ;)23:52
vmiklos pasky: do you plan to provide tarballs for topgit releases? it may be interesting if tg gets more popular.23:52
Mikachu j_engelh: ah, i guess it excludes too much23:52
madduck i already have a patch adding DESTDIR to Makefile, but I won't give it to you jsut yet because I'd like to have more testing i.e. more branches in the topgit source package at the moemnt. :)23:52
pasky vmiklos: http://repo.or.cz/w/topgit.git?a=snapshot23:52
madduck: sure :)23:52
vmiklos pasky: ah, i always forget snapshots are enabled on repo.or.cz :)23:53
madduck vmiklos: Debian will provide orig.tar.gz files for snapshots I package23:53
j_engelh madduck: you know what amazes me, that debian's mplayer fails23:53
madduck to play out streams?23:53
our23:53
agib Mikachu: hmm doesn't work23:53
something with revparse?23:53
BOOKZ pasky: the script does a commit, but not a merge23:53
Mikachu agib: yeah i take it back23:53
j_engelh madduck: whatever the page says, so yes :p23:53
madduck i believe debconf8.debconf.org/video has some information on that, j_engelh23:53
BOOKZ so A1-A2-A4 and no A3 in the history23:53
SamB madduck: what, you aren't going to use the repository directly in your debian packages?23:53
Mikachu j_engelh: my mplayer also failed to play it23:54
without the -cache trick23:54
j_engelh well *mine* does not.23:54
pasky BOOKZ: so what happens when it calls the merge?23:54
Mikachu good for you :)23:54
j_engelh Mikachu: which just means packman did a better job :p23:54
pasky i get unusable video with packman mplayer23:54
madduck SamB: ?23:54
pasky but vlc works fine23:54
Mikachu yeah, clearly it's up to the packager to make sure the ogg demuxer works :)23:55
j_engelh perhaps because there's nothing in the room atm?23:55
pasky oh23:55
you mean right now23:55
no idea :)23:55
madduck we are all eating dinner or drinking beer23:55
no more talks23:55
Mikachu (away)23:55
BOOKZ pasky: it says "Merge with strategy recursive failed." (which is somewhat expected)23:55
david_koontz left23:55
madduck tomorrow again at 13UTC I think23:55
pasky wants video stream of madduck eating dinner and drinking beer23:55
j_engelh yeah I forgot to apply European time shift23:55
madduck pasky: you don't. :)23:55
BOOKZ and git status tells me that the file is unmerged and modified23:56
madduck pasky: I am going to release 0.2-1 now and then get hacking on that other stuff23:56
BOOKZ but when I change it and commit, it's not a merge , just a child of the HEAD23:56
pasky madduck: ok, cool23:56
madduck pasky: can I subscribe you to the package tracker so that you get bug reports sent directly?23:56
pasky sure23:56
madduck same email as author email?23:56
let's see if I can fasttrack this through Debian NEW. :)23:57
pgregory the only book I've found on Git is "Pragmatic Version Control Using Git", worthwhile or not?23:57
technel joined23:57
pasky not23:57
technel If dir/ is a Git repository and I copy dir/ to dir2/, is that a Git repository as well?23:57
pasky at least not in the form I saw it the last time23:57
Eridius|work pgregory: http://git-scm.com/documentation23:57
pasky BOOKZ: sorry, gotta get some sleep23:57
Eridius|work technel: yes23:58
doener_ pgregory: I read part of an example chapter. not impressed23:58
BOOKZ pasky: thanks anyway23:58
pasky BOOKZ: at least I might tell you that it's more comfortable to use git rev-parse HEAD than that log incanation ;)23:58
Eridius|work pgregory: there's also the in-progress http://book.git-scm.com/23:58
technel Eridius|work: See, I did that (via rsync, actually), and the directory has .git/ in it, but when I run "git status" it says: git: /lib/libz.so.1: no version information available (required by git) -- any ideas?23:58
david_koontz joined23:58
pasky pgregory: or just stick with the User Manual?23:58
j_engelh technel: update libz23:58
BOOKZ what's weird is that the two merge commands do not give the same output23:59
tvw left23:59
xenoterracide joined23:59
j_engelh some distributions are just to ... old!23:59
Eridius|work technel: sounds like a problem with your git binary or libz, not with the git repo23:59
pasky pgregory: it's probably the most complete resource23:59
rswarbrick joined23:59
technel j_engelh: uh, is libz supposed to be a pkg?23:59
j_engelh i've seen that error too, and it happened before upgrading glibc + zlib23:59
technel: depends on which distroland you live in23:59
SamB hmm, my mplayer can't parse those playlists23:59
j_engelh SamB: uh23:59
BOOKZ one says: "Auto-merged A / CONFLICT (content): Merge conflict in A / Automatic merge failed; fix conflicts and then commit the result."23:59
j_engelh SamB: mplayer -playlist <url or file>23:59
SamB: works wonders btw23:59

Logs Search ←Prev date Next date→ Channels Documentation