| 2008-08-19 |
| ← spearce left | 00:00 |
| → faheem joined | 00:00 |
|
faheem
| Hi. I'm trying to check out the django branch of the following repos online, http://github.com/kwe/passenger-django-wsgi-example/tree/django but having some difficulty. If I do git clone git://github.com/kwe/passenger-django-wsgi-example.git do I get both branches listed or just one? | 00:01 |
| → mithro joined | 00:01 |
| → cnk joined | 00:01 |
|
faheem
| It looks to me like I just get master. | 00:01 |
| → toxx_ joined | 00:01 |
|
johnw
| does "git log ..foo" show me all commits in foo which are not in HEAD? | 00:04 |
| → spearce joined | 00:04 |
|
doener
| yes | 00:04 |
|
johnw
| cool, thanks | 00:04 |
|
doener
| faheem: git branch -r | 00:04 |
| ← spearce left | 00:04 |
| → tiglionabbit joined | 00:05 |
| → smartcat99s joined | 00:05 |
| → jackdempsey joined | 00:05 |
|
smartcat99s
| is there a way to force git-bisect to checkout a revision? (getting conflicts on Untracked working tree files) | 00:06 |
|
johnw
| stash first? | 00:06 |
| → davidfetter joined | 00:06 |
|
smartcat99s
| in a bisect of a clean kernel tree? | 00:07 |
| ← loinclot_ left | 00:07 |
| ← igorgue left | 00:08 |
|
smartcat99s
| for reference: git bisect start v2.6.27-rc3-171-gb635ace v2.6.27-rc2 | 00:08 |
|
j_engelh
| git bisect start; git bisect bad <thisone>; git bisect good <thatone>; | 00:09 |
|
| easier to remember than trying to figure out which of the two arguments to 'start' are bad and which is good | 00:09 |
|
smartcat99s
| I did that | 00:09 |
|
| Bisecting: 347 revisions left to test after this | 00:09 |
|
| error: Untracked working tree file 'Documentation/usb/auerswald.txt' would be overwritten by merge. | 00:09 |
| ← deavid left | 00:14 |
| ← ereslibre left | 00:14 |
|
Mikachu
| why can git bisect good take several refs while bad only can take one? | 00:17 |
|
j_engelh
| why can git remote rm take only one remote? | 00:18 |
|
Mikachu
| at least it's self-consistent ;) | 00:18 |
| ← trochala left | 00:22 |
| ← schacon left | 00:22 |
| → trochala joined | 00:22 |
| → morii_ joined | 00:23 |
| → toxx__ joined | 00:24 |
| → johnw- joined | 00:24 |
| → igorgue joined | 00:24 |
| → hobodave joined | 00:24 |
|
j_engelh
| > ./vxrandpw -J | 00:25 |
|
| ujirorimo | 00:25 |
| ← priidu left | 00:29 |
| queso|away → queso | 00:30 |
| ← mw left | 00:30 |
| → doener_ joined | 00:30 |
| ← pygi left | 00:31 |
| ← toxx_ left | 00:31 |
| → quix joined | 00:31 |
| ← toxx__ left | 00:31 |
| ← johnw left | 00:32 |
| ← tiglionabbit left | 00:33 |
| ← zachinglis left | 00:34 |
| ← morii left | 00:35 |
| morii_ → morii | 00:35 |
|
quix
| I want someone to clone my repository and have a working build right away. But with the submodule thing, they have to clone and then do some steps to get the submodules. Is there a way for clone to grab the submodules in one step? | 00:35 |
| → hobodave_ joined | 00:36 |
|
faheem
| doener: Can you elaborate, please? How do I get the django branch? git branch -r django doesn't appear to do anything. | 00:39 |
| → gcw|secution joined | 00:39 |
|
doener_
| "git branch -r" shows the remote tracking branches | 00:39 |
| → rmh3093 joined | 00:39 |
|
doener_
| you can use them like any other ref for any command | 00:40 |
|
faheem
| doener: I just want to know the command to check out the django branch. I don't actually use git. | 00:40 |
|
doener_
| for exampl, you can show its log, diff it, or even create a local branch starting from it, so you can do your own work | 00:40 |
|
| well, "git checkout" | 00:40 |
| → pygi joined | 00:40 |
|
quix
| I guess I'll use the subtree strategy. The submodule system seems undesirable since it requires extra steps which appear needless. | 00:41 |
| ← aidy left | 00:41 |
|
quix
| Maybe there is something I'm not understanding -- do people actually use submodules? Or do most people follow the "subtree strategy" outlined? | 00:43 |
| ← doener left | 00:43 |
|
faheem
| doener: Sorry, still not sure what I need to do. So I'm doing git clone git://github.com/kwe/passenger-django-wsgi-example.git . Then what do I need to do to see the django branch? | 00:43 |
|
doener_
| "git branch -r" to see the remote branches, and "git checkout $branchname" to check out a branch | 00:44 |
|
| or "git checkout -b $new_local_branch $starting_point" to create and checkout a new local branch, starting at $starting_point | 00:45 |
|
| eg. "git checkout -b foo origin/foo" | 00:45 |
| ← Paf left | 00:46 |
| → rezxcers joined | 00:46 |
|
rezxcers
| hey, all, i tried to git clone a repos, but i got error like this:Permission denied (publickey). | 00:47 |
|
| fatal: The remote end hung up unexpectedly, why? | 00:47 |
|
faheem
| doener_: Well, I guess I don't understand the theory here, but I seem to have the right directory now. What's the recommended intro/tutorial these days? | 00:47 |
| ← hobodave_ left | 00:47 |
| ← rmh3093 left | 00:48 |
| → sebell joined | 00:49 |
|
doener_
| faheem: No idea, I don't think I really ever read one. http://git.or.cz/gitwiki/GitDocumentation has a few links | 00:49 |
| → bloopletech joined | 00:49 |
| ← smartcat99s left | 00:50 |
|
doener_
| faheem: the user's manual, git from bottom up, git for computer scientists, git magic, gitcasts, git community book | 00:50 |
|
bloopletech
| I'm relatively new to git, and I'm having a wierd problem. I am working on a Ruby on Rails project, and I'm using GitHub.com as my reopsitory host. | 00:50 |
|
doener_
| faheem: those are the ones I've at least heard something about | 00:51 |
|
| rezxcers: look like you don't have permission to ssh to that server | 00:51 |
|
bloopletech
| I have plugins in ./vendor/plugins using git clone plugin_url plugin_folder | 00:51 |
| → tiglionabbit joined | 00:51 |
| hobodave → Guest85694 | 00:51 |
|
faheem
| doener_: Thanks. | 00:52 |
|
rezxcers
| yep, i need a SSH key, but i didn't know how to generate it. | 00:52 |
| → rmh3093 joined | 00:52 |
|
bloopletech
| When I'm getting ready to commit, I do git add . in the project root, then I check the results with git status. But the result is all the files in the plugin being shown as deleted, and new file (plugin folder) in the status results | 00:52 |
|
hacim
| how do I fast-forward a remote tracked branch? | 00:53 |
| ← \ask- left | 00:53 |
|
doener_
| hacim: hm? That makes no sense to me | 00:53 |
|
bloopletech
| Usuallly, it sorts itself out if I do git add vender/plugins/... again | 00:53 |
| ← Plouj left | 00:54 |
|
bloopletech
| But I'd like to work out why it happens, as it's a bit of a pain. | 00:54 |
|
doener_
| bloopletech: if you add a git repo, that gets added as a submodules | 00:55 |
|
| s/s$// | 00:55 |
| → el_isma_ joined | 00:55 |
|
hacim
| doener_: i switched to a branch based off of a remote branch, and git tells me: "Your branch is behind the tracked remote branch 'jrollins/master' by 409 commits, and can be fast-forwarded" | 00:56 |
| → bogolisk joined | 00:57 |
|
doener_
| bloopletech: please keep the discussion on the channel... http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#submodules | 00:57 |
| ← el_isma_ left | 00:58 |
|
hacim
| doener_: I guess i just have to git pull in the branch | 00:58 |
|
doener_
| hacim: that means that you local branch is only missing changes from the remote branch and has no changes that are not in the remote branch. | 00:58 |
|
| so when you attempt a merge, git will (by default) no create a merge commit, but just update the branch to point to the new stuff | 00:59 |
|
bloopletech
| doener_: So, do you think I should be using submodules instead of just git clone ... inside my project? | 01:00 |
| → loincloth joined | 01:00 |
|
doener_
| "git pull", "git merge jrollins/master", "git pull --rebase", foobar... they'll all end up fast-forwarding | 01:00 |
| → pjhyett joined | 01:01 |
| hansengel|away → hansengel | 01:01 |
| ← loincloth left | 01:01 |
| → loinclot_ joined | 01:01 |
|
doener_
| bloopletech: sounds likely, but so far, I don't really know what you're doing, for example why you're cloning a repo into your working tree, if you already had files in that directory | 01:01 |
|
bloopletech
| doener_: Sorry, I'll try to explain better. | 01:02 |
| ← Guest85694 left | 01:02 |
|
doener_
| but maybe it's just my lack of caffeine and the fact that my heart is still going at 180bpm or so... halogen bulb exploded a few minutes ago... | 01:02 |
|
bloopletech
| doener_: I have a project at PROJROOT/ . Inside is PROJROOT/vendor/radiant. PROJROOT/vendor/radiant was created by: git clone radiant_url PROJROOT/vendor/plugins | 01:03 |
|
| doener_: So I have a git project, and inside it, a cloned copy of another project. | 01:04 |
|
doener_
| yeah, that sounds like a submodule candidate | 01:04 |
|
bloopletech
| doener_: Halogen bulbs can be nasty | 01:04 |
|
| doener_: And the end result at the moment is crazy stuff happening when I do git add . | 01:04 |
|
| doener_: Ok, I'll try it out | 01:04 |
| ← yofel left | 01:07 |
| → polpak joined | 01:07 |
|
quix
| It looks like the remotes are only things you add locally, and are not something that's committed? | 01:07 |
|
doener_
| yep | 01:07 |
| → yofel joined | 01:07 |
|
quix
| ok thanks, I'm starting to get this a little | 01:08 |
|
bogolisk
| what is '^0' as in 'branch_name^0' ? | 01:09 |
|
j_engelh
| tag resolution | 01:09 |
|
bogolisk
| ok! ty | 01:10 |
|
quix
| But it's the other end of the problem of submodules. Submodules are recorded, but then the user has to manually get them after getting the main branch. With remote subtrees, the whole tree is obtained, but the remotes are not recorded and require manual work to sync. | 01:10 |
|
| I don't see a decent solution for tracking another repository. | 01:11 |
|
bogolisk
| why in git-base: to start, "git checkout $onto^0" was done instead of "git reset --hard $onto^0" ? | 01:11 |
| ← rezxcers left | 01:11 |
| ← zdennis left | 01:12 |
|
quix
| Is there such thing as a "first-time clone" hook where I can do "git submodule init && git submodule clone" ? | 01:12 |
|
doener_
| bloopletech: you mean s/base/rebase/, right? | 01:12 |
| ← jackdempsey left | 01:12 |
|
bloopletech
| doener_: huh? | 01:13 |
|
j_engelh
| bogolisk: "ref^{type}" dereferences ref repeatedly until you cannot dereference anymore, or you get an object of given type, whichever comes first. "ref^{}" means just dereference tags until you get a non-tag. "ref^0" is a shorthand for "ref^{commit}". "commit^{tree}" could be used to find the top-level tree of the given commit. | 01:13 |
| ← joydivider left | 01:13 |
|
doener_
| bloopletech: sorry, I meant bogolisk... stupid tab-completion | 01:13 |
|
bloopletech
| doener_: thought so, :) | 01:13 |
|
j_engelh
| straight from sha1_name.c | 01:13 |
|
bogolisk
| doener_: yeah, typo | 01:13 |
|
| j_engelh: thanx, will re-read 10 times! | 01:14 |
|
doener_
| bogolisk: because reset --hard would not get you a detached HEAD, but instead mess with your current branch | 01:14 |
|
j_engelh
| git-rebase does git checkout $onto^0 | 01:15 |
|
| if it only did git checkout, like doener set, you move to the branch, not the detached commit | 01:15 |
|
| s/set/said/ | 01:15 |
|
| but it gets more interesting even | 01:15 |
|
bogolisk
| doener_: ic! | 01:15 |
|
j_engelh
| you can tag a tag. | 01:15 |
| → capisce_ joined | 01:15 |
|
j_engelh
| so, if you use git-tag newtagname oldtagname^0, you make sure you don't tag the tag, but the commit. | 01:15 |
|
doener_
| j_engelh: I did not say checkout _at_all_ | 01:16 |
|
bogolisk
| ok, let me try: not do a "reset --hard" cuz it move the ref, but "checkout with a commit sha1" give a detached head... | 01:17 |
|
bloopletech
| doener_: Hmm, the issue with submodules is that the dependancies have to be loaded from the remote repo's, whereas I would like to have the files actually in my repo. | 01:17 |
|
bogolisk
| but where the result of the step's merge will be if head was detached? | 01:18 |
| ← yofel left | 01:18 |
|
doener_
| bogolisk: try "cat .git/HEAD" after "git checkout master" and after "git checkout master^0" (or whatever branch you feel like using) | 01:19 |
|
| bogolisk: in the first case, HEAD is a symbolic ref to the branch, in the second one it's a plain ref to a commit | 01:19 |
|
bogolisk
| doener_: I understand that, but I'm just trying to see what's happending between each replay during a rebase | 01:20 |
|
doener_
| bogolisk: when you do commit, merge, reset, ... and HEAD is a symbolic ref, git dereferences that and updates the branch | 01:20 |
|
bogolisk
| happening | 01:20 |
|
doener_
| when HEAD is not a symbolic ref, HEAD itself is updated | 01:20 |
|
bogolisk
| doener_: ok!!!! | 01:21 |
|
| doener_ takes the exclamation mark storm as a sign to shut up | 01:21 |
|
bogolisk
| interesting?! so you mean you cannot commit with detached HEAD but merge is ok! | 01:21 |
|
Mikachu
| you can commit with a detached HEAD | 01:22 |
|
bogolisk
| doener_: com'on. (see no exclam) | 01:22 |
|
| bogolisk is confused | 01:22 |
| ← SjB left | 01:23 |
| ← quix left | 01:24 |
|
johnw-
| hi bogolisk | 01:24 |
|
Bryson
| i typed a command incorrectly to track a remote branch. i now have a branch NAMED '--track' and when i try to delete it, the branch name is treated as an option and nothing happens. help. | 01:25 |
|
Mikachu
| Bryson: -- --track | 01:25 |
| ← capisce left | 01:26 |
| → Sylia joined | 01:26 |
|
bogolisk
| johnw- hi | 01:26 |
|
johnw-
| bogolisk: I saw you momentarily forked one of my GitHub projects :) | 01:27 |
|
hacim
| when I did a git push to my remote, it pushed all my local branches, how do I 'undo' that and not push those in the future? | 01:27 |
| ← loinclot_ left | 01:27 |
|
bogolisk
| johnw- : you mean magit? | 01:27 |
|
johnw-
| yeah | 01:27 |
|
Mikachu
| hacim: it will push all branches that have the same names as ones in the remote | 01:27 |
|
| hacim: you can specify an exact set in .git/config | 01:27 |
|
johnw-
| i was going to write my own Emacs mode, but then found magit on the same day, and I'm now working with the author to merge our efforts | 01:27 |
|
bogolisk
| johnw-: yeah I tried to publish my own changes on top of marius and thinking cloning yours might be the fastest way :) | 01:28 |
|
| johnw-: cool | 01:28 |
|
johnw-
| for now I'm keeping my changes as a series of commits that I keep rebasing on his master, so that he can always see my "pending" commits | 01:28 |
|
| we're still hashing out questions of design and interface | 01:28 |
|
hacim
| Mikachu: it created these new | 01:29 |
|
bogolisk
| johnw-: if you're curious you can take a look at my changes on the branch magit_ld in bogolis/magit repo | 01:29 |
|
Mikachu
| hacim: that should only happen if you use --all | 01:29 |
|
johnw-
| but now I'm excited, he's already halfway to where I wanted to be | 01:29 |
|
| what's your repo URL? | 01:29 |
|
Bryson
| Mikachu: that worked. thanks. why does that work? | 01:29 |
|
Mikachu
| hacim: or if you configured it that way | 01:29 |
|
| Bryson: because -- means no more options | 01:29 |
|
johnw-
| Bryson: the -- convention is almost universal in the UNIX world | 01:29 |
|
hacim
| Mikachu: I guess because I've got: push = +refs/heads/* | 01:29 |
|
bogolisk
| johnw-: : git://github.com/bogolisk/magit.git | 01:29 |
|
Mikachu
| which is confusing, because in a lot of commands, it means no more branches ;) | 01:30 |
|
hacim
| Mikachu: how do I remote the remote branches? | 01:30 |
|
johnw-
| oh, I thought you deleted your fork | 01:30 |
|
| adding you as a remote now... | 01:30 |
|
Mikachu
| hacim: git push remotename :branchtodelete | 01:30 |
|
bogolisk
| johnw-: I did. then I cloned marius and push it on bogolisk/magit. master branch is all his, magit_ld branch is mine | 01:30 |
|
johnw-
| ah, I see | 01:31 |
|
hacim
| Mikachu: thanks | 01:32 |
|
johnw-
| cool, I hope he grabs your changes | 01:33 |
|
| ah, you're using SPC too, I bound that to scroll-down | 01:33 |
| → mikem joined | 01:35 |
|
johnw-
| bogolisk: ok, I'm moving my own work to the 'johnw' branch so that 'master' is a mirror | 01:35 |
|
mikem
| hi, i'm trying to configure git to send updates to buildbot on each commit. i'm not sure what to put in the post-receive hook in order to launch this script properly: http://buildbot.net/trac/browser/contrib/git_buildbot.py | 01:36 |
|
johnw-
| mikem: I do this | 01:37 |
|
| i put a copy of my post-receive (based on that .py) in ftp://ftp.newartisans.com/pub/post-receive | 01:39 |
|
| bogolisk: ok, I made a branch johnw_bogo that merges you and me together. There were only two changes of your I didn't take: I bound magit-toggle-hs-thing to "h", and I use *magit: PROJ* as the magit buffer name. | 01:40 |
|
| ooh, very colorful | 01:42 |
|
bogolisk
| johnw-: I use dark background os I have no idea how the colours look on light bg | 01:44 |
|
johnw-
| well, the non-change text is a bit too light grey | 01:44 |
| ← kanru left | 01:44 |
|
mikem
| johnw-: so you replace .git/hooks/post-receive with that python file? | 01:45 |
|
johnw-
| yep | 01:45 |
|
| and make it +x | 01:45 |
|
| bogolisk: ok, check out my johnw_bogo branch on github | 01:45 |
|
mikem
| johnw-: ah i see. is it possible to call it from post-receive instead? | 01:45 |
|
johnw-
| i like it, it's pretty | 01:45 |
|
bogolisk
| johnw-: what color do you suggest? | 01:45 |
|
johnw-
| mikem: well, I guess you could | 01:45 |
|
bogolisk
| johnw-: did you try the hide-show thing? | 01:46 |
|
johnw-
| bogolisk: grey is good, just use grey25 instead of grey90 or whatever you're using | 01:46 |
|
| bogolisk: no, about to | 01:46 |
|
| i like your minor-mode idea too | 01:46 |
|
| all of these faces are customizable, right? | 01:46 |
|
bogolisk
| johnw-: yes! | 01:46 |
|
| customize-group magit | 01:46 |
|
johnw-
| grey50 is good | 01:47 |
|
bogolisk
| johnw-: I think there should be an option to whether to display the logs in the status buffer or not | 01:47 |
|
johnw-
| let me show you a screenshot | 01:47 |
|
bogolisk
| johnw-: ok, default will be grey50 for light background | 01:47 |
|
johnw-
| http://ftp.newartisans.com/pub/magit.png | 01:49 |
|
bogolisk
| johnw-: I like it | 01:50 |
| → gretch joined | 01:51 |
|
johnw-
| the hiding is perfect | 01:51 |
| ← tiglionabbit left | 01:51 |
| ← Bryson left | 01:51 |
|
johnw-
| the next thing I want is the ability to start out with everything hidden, and the filenames indented with status prefix, so the buffer looks like the old git.el when all files are hidden | 01:52 |
|
| bogolisk: I'm not sure how magit-mode's C-c C-v = is better than using C-x v = with VC? I'm rather partial to VC's keybindings. I think it might be better to develop a vc-magit.el than to have a minor-mode | 01:53 |
| → loincloth joined | 01:58 |
|
hansengel
| Hi guys, I'm trying to set up a local Git server on my Mac with git-daemon. I got the daemon running, but when I try to clone a repo from the client, the server outputs this error: | 01:59 |
| ← rmh3093 left | 01:59 |
| ← ijcd_ left | 01:59 |
|
hansengel
| '/myrepo.git': unable to chdir or not a git archive | 01:59 |
|
| here's the command I used to run the server, as user git, group git: | 01:59 |
| → rmh3093 joined | 02:00 |
|
Mikachu
| the paths can be a bit confusing with git-daemon before you understand what happens | 02:00 |
|
hansengel
| git-daemon --verbose --export-all /Users/git | 02:00 |
|
Mikachu
| you probably want to give --base-path | 02:00 |
|
hansengel
| inside /Users/git, I have a folder called myrepo.git | 02:00 |
|
| Mikachu: what would that do? | 02:00 |
|
Mikachu
| otherwise, you need to git clone git://blah/Users/git/myrepo.git | 02:00 |
|
hansengel
| aaaah... got it | 02:00 |
|
| okay, new problem | 02:01 |
|
| just cloned.. no errors on the server, I can see the request | 02:01 |
|
| but on the client: | 02:01 |
|
| fatal: no matching remote head | 02:01 |
|
| the repo is empty, is this why? | 02:01 |
|
Mikachu
| yes | 02:01 |
|
hansengel
| ah, so I'll try pushing first | 02:02 |
|
| sweet! think I got it working | 02:03 |
|
| so now where is the data located on the server? | 02:03 |
|
| (the file I just pushed) | 02:03 |
|
Mikachu
| uh, in /Users/git/myrepo.git? | 02:03 |
|
bogolisk
| johnw-: do you have a list of colors for the defaults with light bg | 02:04 |
|
hansengel
| yeah, but shouldn't I see the file I just pushed? ran `touch empty`, added, pushed | 02:04 |
|
Mikachu
| see where? | 02:04 |
|
hansengel
| but don't see it on the server in /Users/git/myrepo.git | 02:04 |
|
Mikachu
| of course you don't, it's a bare repo | 02:04 |
|
bogolisk
| johnw-: we might get away with letting the user to choose the prefix: C-c v or C-c C-v | 02:04 |
|
hansengel
| oh, okay. | 02:04 |
| ← foca left | 02:05 |
|
hansengel
| one more thing.. is there any way to run this as a startup process, @mac guys? | 02:06 |
|
| so I don't need to run it via terminal each time | 02:06 |
|
johnw-
| bogolisk: but why have your own minor-mode instead of just writing a VC backend? if you do that, you get to plug in to all of VC's features, like invoking ediff | 02:07 |
| → swhitt joined | 02:07 |
| ← sgrimm left | 02:07 |
|
bogolisk
| johnw-: vc already does git! but it does it the "wrong way"! | 02:08 |
|
johnw-
| how is that? | 02:08 |
|
bogolisk
| johnw-: vc also doesn't have the concept of staging/unstaging | 02:08 |
| → quix joined | 02:08 |
|
johnw-
| i'll use magit.el for my staging/unstaging needs | 02:09 |
|
bogolisk
| johnw-: AFAIR, vc only commit 1 file at a time | 02:09 |
|
johnw-
| i never use VC for committing, btw | 02:09 |
|
| only for pulling up diffs, logs, visiting old versions of the file, etc. | 02:09 |
|
| C-u C-x v ~ is burned into my brain | 02:09 |
|
bogolisk
| johnw- :) | 02:10 |
|
| so you're attached to the key-binding not the code | 02:10 |
|
quix
| Is it possible for git to run hooks stored in the repository? So for example, after someone clones a repository for the first time, a hook is run? | 02:10 |
|
johnw-
| i'm most attached to the keybinding and the behavior | 02:10 |
|
| quix: no | 02:10 |
|
Mikachu
| quix: no, that would be a horrible security bug | 02:10 |
|
bogolisk
| johnw-: so what C-x v v should do in a vc-git ? | 02:11 |
|
johnw-
| like if I were to visit a Web page and it ran code... oh | 02:11 |
|
quix
| Right --- I thought of that --- but I want to issue git commands, not arbitrary commands. | 02:11 |
| → kanru joined | 02:11 |
|
Mikachu
| git commands are arbitrary commands :) | 02:11 |
|
johnw-
| bogolisk: it should offer to run magit-status :) | 02:11 |
|
Mikachu
| git filter-branch --tree-filter 'rm -rf ~' | 02:11 |
|
bogolisk
| hmmmm C-c C-v C-v in the current magit-mode :) | 02:11 |
|
quix
| Is there a git command which will rm -rf / ? | 02:11 |
| → jackdempsey joined | 02:11 |
|
quix
| oops beat me to it :) | 02:12 |
|
johnw-
| bogolisk: also, magit has no easy way right now of doing what C-x v u does (equivalent of "git checkout -- FILE") | 02:12 |
| → vbabiy joined | 02:12 |
|
bogolisk
| C-c C-v u | 02:12 |
|
johnw-
| yeah, like I said, I'd rather see you write vc-magit :) | 02:12 |
|
quix
| Here is the problem: I want to use a submodule, but I don't want users to have to "git submodule init && git submodule pull" or whatever after cloning. I want it to just work. | 02:13 |
|
johnw-
| having a non-VC minor-mode which emulates VC just feels, very odd | 02:13 |
| ← igorgue left | 02:13 |
|
quix
| I could merge in the tree, but I don't want to --- it would be inappropriate to mix the histories. | 02:13 |
|
johnw-
| and C-x v d should invoke magit-status in vc-magit | 02:13 |
| ← bartman` left | 02:14 |
|
bogolisk
| that I like | 02:14 |
|
quix
| So I really don't see good solution to submodules vs merged subtrees. | 02:15 |
|
| Surely others have this problem? Unless I'm missing something | 02:15 |
|
Mikachu
| quix: i guess you could make a new default branch that has just a script 'runme' that switches branch and does the submodule stuff | 02:16 |
|
| sort of an ugly solution | 02:16 |
|
quix
| What if the repository had a hook which could only run certain commands, such as "git submodule init" etc | 02:16 |
| → waltman joined | 02:17 |
|
johnw-
| quix: i find that most developer trees have a preperatory script of some kind, like "autogen.sh". It just becomes the first thing you need to run before you can use the tree. | 02:17 |
|
| My own project has "./acprep" for doing all this housework stuff. | 02:17 |
|
quix
| Well, I want someone to clone the branch and have everything working immediately --- any manual labor is out of the question. | 02:17 |
|
Mikachu
| that's not how it works, it seems | 02:17 |
|
johnw-
| they can't even bother to read a README that suns "first, run ./RUNME"? | 02:17 |
|
| s/suns/says | 02:17 |
|
waltman
| I want to undo the entire latest ccommit. I tried "git checkout HEAD^ --", but git complains "Note: moving to "HEAD^" which isn't a local branch" and puts me in a state where I'm not in any branch. | 02:18 |
|
j_engelh
| people are not used to run anything but ./configure | 02:18 |
| ← david_koontz left | 02:18 |
|
waltman
| What do I do? | 02:18 |
|
johnw-
| j_engelh: then they should download releases, not source trees | 02:18 |
|
j_engelh
| heh | 02:19 |
|
| still, even the configure-generating scripts have a somewhat standard name :p | 02:19 |
| → david_koontz joined | 02:19 |
|
quix
| Everything should be automated. Down with manual labor. It annoys people, and it makes us stupider and monkey-like. | 02:19 |
|
johnw-
| quix: security and convenience are at two ends of a spectrum. Everyone prefers a difference place along this line. | 02:20 |
|
waltman
| *sigh* | 02:22 |
|
quix
| I think that's a red herring. The reason we are talking about security is because git do multiple clones at once. If it could, there would be no need to run scripts. | 02:22 |
|
| s/do/can't do/ | 02:22 |
|
johnw-
| i agree that automatic fetching of submodules is desirable | 02:23 |
| ← david_koontz left | 02:23 |
|
waltman
| how do you undo an entire bad commit? | 02:23 |
|
johnw-
| I'd like to be able to pass "--auto-fetch" to "git submodule add" | 02:23 |
|
quix
| The user is *already* cloning a repository -- why not clone others? | 02:23 |
|
| makes no sense. | 02:23 |
|
johnw-
| waltman: git revert, if it's a public commit | 02:23 |
|
waltman
| what's the difference between that and git co HEAD^ ? | 02:24 |
|
johnw-
| quix: what you're suggesting is entirely valid, but it should be made a part of the clone operation itself, not done by external scripts that might do anything | 02:24 |
|
| quix: maybe bring this up on the mailing list? | 02:24 |
|
quix
| john -- yes that's what I've been meaning. | 02:24 |
|
johnw-
| waltman: git co HEAD^ is not what you want | 02:24 |
|
| waltman: if it's in your local tree, you want git reset --hard HEAD^ | 02:24 |
| ← sebell left | 02:24 |
|
johnw-
| waltman: or git reset --soft HEAD^ followed by git checkout -- FILE | 02:25 |
|
| or even: git commit --amend | 02:25 |
|
| then undo the change, and then commit again | 02:25 |
| ← MattDiPasquale left | 02:25 |
|
johnw-
| (you may have to undo the change before commit --amend, depends on your interface) | 02:25 |
|
quix
| Before I ask on the ML, is there some reason for the current git-submodule behavior? The requirement to run git-submodule init && git-submodule clone ? | 02:26 |
|
johnw-
| quix: I think you're just looking at the historical necessities of an after-thought | 02:26 |
|
waltman
| thanks, think I finally got things back where I wanted :) | 02:26 |
|
Mikachu
| because you can run git clone && git submodule init, but you can't run git clone && oops, don't clone the submodule | 02:26 |
|
| (that is a guess) | 02:27 |
|
johnw-
| Mikachu: the repo maintainer should be able to indicate in .gitmodules which submodules should auto-fetch on clone, and which shouldn't | 02:27 |
|
bogolisk
| johnw-: something I want to add to magit. from the list of "unstaged" hunks listed in the status buffer, let the user reverse-apply that hunk the the workdir. (basically a selective git-checkout) | 02:27 |
| → Arrowmaster` joined | 02:27 |
| ← tango_ left | 02:27 |
|
Mikachu
| i don't use submodules myself so i don't have an actual opinion :) | 02:27 |
|
bogolisk
| johnw-: s/the the workdir/to the work dir/g | 02:27 |
|
johnw-
| bogolisk: yep, that's exactly what I want too, I've already asked Marius for it | 02:27 |
|
bogolisk
| johnw-: ok | 02:27 |
| → tango_ joined | 02:27 |
|
bogolisk
| johnw-: don't know if you noticed but I change the apply code to NOT use the .git/magit-tmp | 02:28 |
| ← GuyFromHell left | 02:28 |
| ← ricky left | 02:28 |
|
johnw-
| so far, I've used submodules for optional external stuff, things only a select few will want to grab in addition to the main sources | 02:28 |
| → ricky joined | 02:28 |
| ← thijso left | 02:28 |
| → ddollar joined | 02:28 |
| Arrowmaster` → Arrowmaster | 02:28 |
| → GuyFromHell joined | 02:28 |
| → thijso joined | 02:28 |
| ← jackdempsey left | 02:28 |
| → telmich joined | 02:28 |
| ← krawek left | 02:28 |
| → krawek joined | 02:28 |
|
johnw-
| but especially for recursive submodules (where the submodule refers to an alternative branch in the repo itself), auto-fetching would be nice, and safe | 02:28 |
| → tiglionabbit joined | 02:28 |
| → tewk joined | 02:28 |
| → xhanjian joined | 02:29 |
| → jackdempsey joined | 02:29 |
| → jsimonss joined | 02:29 |
|
Mikachu
| what happens if the submodule is the branch itself? :) then you would get infinite recursion | 02:29 |
|
johnw-
| for recursive submodules, I'd also like the ability to specify making a shallow clone instead of a regular clone | 02:29 |
|
| Mikachu: i avoid that :) | 02:29 |
|
| usually a recursive submodule refers to a so-called "empty branch", a data side-band | 02:29 |
|
quix
| I don't quite understand the need to garbage collect. It's basically a defrag of the "git filesystem". Surely there is an algorithm which eliminates this need via piecewise application, such as how UNIX filesystems work? | 02:30 |
|
johnw-
| like the way the git project includes generated documentation | 02:30 |
|
| quix: it's not a defrag | 02:30 |
|
| quix: there is no fragmentation where immutable objects are concerned | 02:30 |
|
Mikachu
| if anything, gc causes fragmentation :) | 02:30 |
|
quix
| Well I was speaking metaphorically -- nonetheless it can be eliminated, no? | 02:30 |
|
johnw-
| the reason for "gc" is that if you delete a branch, at some point its objects should get cleaned up | 02:31 |
|
j_engelh
| git prune defragments the gitspace :) | 02:31 |
|
johnw-
| and if there's already inside of a pack, you don't want git repacking after every reflog expiration | 02:31 |
|
Mikachu
| you don't want to rewrite a 500MB packfile every time you git add myfile.c | 02:31 |
| → jtong joined | 02:32 |
|
quix
| johnw, but can't this be done by git? There's got to be an acceptable algorithm to do it incrementally. | 02:32 |
| → zdennis joined | 02:32 |
|
Mikachu
| quix: there is already git gc --auto that most commands invoke for you | 02:32 |
|
johnw-
| quix: why does this even bother you? | 02:33 |
|
| quix: I'm perfectly content with git gc --auto | 02:33 |
|
quix
| It bothers me because it's something that's unnecessarily put on the user. | 02:34 |
|
johnw-
| it's the way git is setup out of the box | 02:34 |
|
quix
| git could have easily handled this and we would have avoided the conversation. | 02:35 |
|
johnw-
| i was happy to avoid it before :) | 02:35 |
|
quix
| I guess philosophical flaws bother me unnecessarily. | 02:35 |
|
johnw-
| i think you may be inveighing about issues that aren't actually real problems, once you've used git for a while | 02:35 |
|
Mikachu
| quix: you aren't content with gc --auto? | 02:36 |
|
quix
| Mikachu: I would only be content if the issue were solved permanently by removing the need for gc commands altogether. But I agree that the problem is mostly philosophical, not practical. | 02:38 |
|
Mikachu
| that makes almost no sense at all | 02:38 |
|
johnw-
| i think he's saying that git-gc makes him feel all icky inside | 02:38 |
|
quix
| Well, it's sort of like a noise in your car engine which doesn't really make a difference, but shouldn't be there. | 02:39 |
|
Mikachu
| you don't know how packs work in git, do you? | 02:40 |
|
quix
| Aha, that is exactly the point. I shouldn't have to know how packs work. | 02:40 |
| ← gcw|secution left | 02:41 |
|
Mikachu
| well, if you don't know why gc is needed, you shouldn't make any statements about whether it's needed | 02:41 |
|
johnw-
| Mikachu: he's just trolling now, wishing for a perfection that meets his idea of how things should be | 02:41 |
|
Mikachu
| (i don't think using the word 'trolling' is fair here) | 02:42 |
| → bartman joined | 02:42 |
|
johnw-
| he's not making idle comments in order to poke us into defending something? | 02:42 |
|
Mikachu
| no i don't think so | 02:43 |
|
quix
| My point isn't a very big one. It's been artificially enlarged since that's mostly what I've talked about so far. | 02:43 |
|
johnw-
| ok, I retract then | 02:43 |
|
quix
| My apologies. | 02:43 |
|
| But the point is nonetheless not an idle point. I could imagine a future git implementation which would remove the need for anyone to care about calling git-gc. That would be an improvement. | 02:44 |
| ← fafhrd left | 02:44 |
| → fafhrd joined | 02:45 |
| ← swhitt left | 02:45 |
| ← zawir left | 02:47 |
|
johnw-
| quix: I apologize as well, but recommend further research on the question. | 02:50 |
| ← cbreak left | 02:51 |
| → zdennis_ joined | 02:54 |
| ← quix left | 02:55 |
| ← pygi left | 02:59 |
| → pygi joined | 03:00 |
|
bogolisk
| johnw-: do you know emacs well? | 03:11 |
| ← zdennis left | 03:11 |
|
johnw-
| yes, very | 03:11 |
|
| ever used Eshell? | 03:12 |
|
bogolisk
| johnw-: how do define a custom for a key sequence? | 03:12 |
|
johnw-
| bogolisk: key mappings are not customizable | 03:12 |
|
bogolisk
| johnw-: try it a long time agot | 03:12 |
|
| ago | 03:12 |
|
| johnw-: then it would a string I guess | 03:13 |
| ← LiamH left | 03:13 |
|
bogolisk
| johnw-: I want to define a keyma with just the last keystroke. let the user select the prefix they want | 03:13 |
|
| johnw-: "C-c C-v" vs "C-c v" | 03:13 |
| ← nn left | 03:14 |
|
johnw-
| you could customize which keymap variable your bindings are applied to | 03:14 |
|
| example: (define-key mode-specific-map [(control ?v)] 'magit-mode-map) | 03:15 |
|
| all of your bindings ride on `magit-mode-map' as single keybindings | 03:15 |
|
| the link into the C-c space would happen using that define-key command | 03:15 |
| → paltman joined | 03:16 |
|
johnw-
| C-c v is reserved for the user, btw | 03:16 |
|
bogolisk
| johnw-: I mean C-x v | 03:16 |
|
johnw-
| you are still going to make it a separate minor-mode that rides on top of VC's keybindings? may I ask why? Do you not like the VC architecture? | 03:18 |
|
bogolisk
| johnw-: it's more like (define-key magit-mode-map (kbd "=") 'magit-diff-current-file) .... (define-key magit-minor-mode-map (read-kbd-macro custom-key-squence) magit-mode-map) | 03:19 |
|
| johnw-: I'll have to re-read vc code, but the last time I did the front-end/back-end link was too limiting. | 03:20 |
|
| btw, vc-git.el already exists | 03:20 |
|
johnw-
| yes, but it doesn't call magit-status on C-x v d :) | 03:20 |
|
| but perhaps you're right | 03:20 |
| ← desrt left | 03:20 |
|
johnw-
| i use C-x C-g to run magit | 03:20 |
| → jcummins joined | 03:21 |
| → xshelf joined | 03:21 |
| → boink__ joined | 03:22 |
| ← tcoppi left | 03:23 |
| → sfullenwider joined | 03:24 |
|
jcummins
| I have a repo at /proj and some open source libraries located at /proj/lib/. One of the libraries was recently updated. Is there an easy way to update my repo with the latest code from their subversion repository? Would I just 'cd /proj/lib/foo ; git svn clone http://svn.foo.com' ? | 03:24 |
|
johnw-
| cd /proj/lib ; git svn clone URL foo | 03:25 |
|
jcummins
| ah. cool. Thanks johnw- | 03:25 |
|
xshelf
| anyone with git-p4 background here? | 03:26 |
|
| I am trying to figure out, how to avoid "$Id:/some/file/path" from getting replaced by "$Id$" when I do a 'git-p4 clone //depot/some/project' | 03:27 |
| → BrianTheCoder joined | 03:29 |
|
johnw-
| i'm afraid i have no idea on that one xshelf | 03:32 |
| ← Oompa left | 03:33 |
| ← vbabiy left | 03:33 |
| ← cmarcelo left | 03:33 |
| ← raz left | 03:34 |
| boink__ → raz | 03:34 |
|
xshelf
| let me start reading the best documentation... the code itself! | 03:34 |
|
| I am trying to avoid learning Python, looks like there is no alternative... why didn't people stick to good old perl :) | 03:36 |
| → ben_h joined | 03:36 |
|
johnw-
| egads, please no | 03:37 |
|
offby1
| I've used both; Python certainly makes more readable code, at least for small-scale stuff | 03:39 |
|
| once it gets big and complex, it doesn't much matter what you use :-| | 03:39 |
|
xshelf
| johnw-: Are you John Wiegley (seen you on emacs lists) | 03:39 |
|
bogolisk
| johnw-: I've add the ability to customize the key prefix for magit minor-mode. You can choose "C-x v" if you want:) | 03:41 |
|
xshelf
| not getting into any flame war, just trying to make up my mind. I have jumped into learning Python and got out more often than I can count! I just feel I can accomplish almost everything in perl | 03:42 |
| ← jackdempsey left | 03:45 |
|
johnw-
| xshelf: yes, I am | 03:46 |
|
| xshelf: Ruby might be a better fit | 03:46 |
| → schacon joined | 03:46 |
|
| polpak bites his tongue. | 03:46 |
|
johnw-
| bogolisk: I think I'll stick with vc-git, but thanks | 03:46 |
|
| offby1 bites polpak's tongue | 03:47 |
|
johnw-
| bogolisk: i'll keep an eye on magit-mode, though, will probably switch later on | 03:47 |
|
polpak
| eh, kinky.. | 03:47 |
|
offby1
| salty. | 03:47 |
| → spearce joined | 03:47 |
|
johnw-
| WRONG | 03:47 |
|
xshelf
| johnw-: I am so confused, when I decide to learn a language, I buy the books (when I put my money, I am forced to learn). It is with Python that I am wavering! Languages are becoming like editors or dscm. They all almost have the same features, with minor pros/cons. Very difficult to choose. Waiting for parrot to run python/perl on same vm | 03:49 |
|
johnw-
| i've been using Python for about 10 years now, and I like it very much. But it is not my ideal language, it's just very useful | 03:50 |
|
| conversely, I love Common Lisp to death, but finding almost no practical uses for it | 03:50 |
|
| so, I use Python for my scripting, and write code for Emacs to scratch at least a part of my Common Lisp itch | 03:51 |
| ← spearce left | 03:51 |
| ← kukks left | 03:52 |
| ← hansengel left | 03:52 |
|
xshelf
| The only motivation for me to learn Python is to hack on git-p4/bzr/hg. I find it really odd, because I like some tools, I have to learn a whole new language to be able to hack on it. Tomorrow, some good tool will be in Ruby/lua/haskell... where is an end to this language learning! | 03:53 |
| → Beket joined | 03:53 |
|
johnw-
| are you a programmer? is there ever a possible end? | 03:53 |
|
xshelf
| I am a programmer and I find myself learning languages rather than solving complex issues | 03:54 |
| ← flaguy left | 03:54 |
|
johnw-
| it's a balance | 03:54 |
| ← mithro left | 03:54 |
| → alenoosh joined | 03:55 |
|
johnw-
| i don't code in Ruby yet, but I'm 1/3 of the way through Programming in Ruby | 03:55 |
|
xshelf
| sorry for all the off topic tal on #git, just that I find interesting people here | 03:55 |
|
johnw-
| and I really want a professional reason to learn Erlang, so far no personal reasons | 03:55 |
| ← schacon left | 03:55 |
|
xshelf
| i guess I will just have to accept the fact and learn them on demand | 03:56 |
|
johnw-
| yep | 03:56 |
|
bogolisk
| johnw-: I saw that Marius merged your changes | 03:56 |
|
johnw-
| in the last three years I had to learn both ASP.NET and J2EE, for different projects. How I would love to settle on one piece of technology that just works and does it all, but such is not life. | 03:56 |
|
| bogolisk: he merged some, but not all | 03:56 |
|
bogolisk
| johnw-: my branch (magit_ld) is already "public" on git hub, should rebase or merge (with his new head) | 03:57 |
|
johnw-
| xshelf: you did inspire me to give another look at http://ecls.sourceforge.net/, thanks :) | 03:57 |
|
bogolisk
| should I... | 03:57 |
|
johnw-
| bogolisk: unless people make branches based on your branch, rebasing is ok | 03:57 |
| → mithro joined | 03:57 |
| → gcw|secution joined | 03:57 |
|
johnw-
| what will happen is that when they fetch, it will just reset their bogolisk/master_ld | 03:57 |
|
bogolisk
| johnw-: "people" = you? so is rebase ok | 03:57 |
|
johnw-
| yeah, I'm not branching based on your code | 03:58 |
|
bogolisk
| johnw-: ok | 03:58 |
|
johnw-
| I'll just tear down my johnw_bogo branch and re-merge it | 03:58 |
|
bogolisk
| johnw-: ok, ty | 03:59 |
|
johnw-
| interesting, your rebase didn't change your commits | 04:00 |
|
| i just fetched your latest, and all before HEAD~3 are the same commit ids | 04:00 |
|
sfullenwider
| I have a situation where there are three coders working on a project (with me as one of them). None of us want to share our repositories with the outside world via git. Is it possible to set up repositories that can be fetched by only specific people? | 04:01 |
|
johnw-
| sfullenwider: set it up on a private server that you can all ssh to | 04:01 |
|
| also, GitHub sells private accounts | 04:01 |
|
sfullenwider
| is that the only option? | 04:01 |
|
johnw-
| you could e-mail patches to each other | 04:01 |
|
| git-daemon has no authentication | 04:01 |
|
| you could probably use HTTP Digest authenication with the WebDAV support, but then you'd lose the niceties of the git-daemon transfer protocol | 04:02 |
|
| git+ssh is by far the simplest | 04:02 |
|
| lastly, you could each pull from each other's repositories, directly off of each other's machines | 04:02 |
| → imyousuf joined | 04:02 |
|
xshelf
| johnw-: You have always inspired me (I had exchanged mails with you a while ago, sure you will not remember) | 04:03 |
|
johnw-
| what's your name? | 04:03 |
|
sfullenwider
| johnw-: how could we pull it directly off of each others machines? by providing ssh access to each other? | 04:03 |
| ← frq1_dave left | 04:03 |
|
xshelf
| johnw-: dhruva | 04:03 |
|
johnw-
| sfullenwider: yes, or you could use git-daemon by restrict access via firewall | 04:04 |
|
| s/by/but | 04:04 |
|
sfullenwider
| ah | 04:04 |
| → alb joined | 04:04 |
|
sfullenwider
| ok, tnx | 04:04 |
|
jcummins
| hmmm.... still having some SVN problems here. I'm trying to get a subfolder of my project to track an SVN repo. | 04:05 |
|
johnw-
| what kind of problems? | 04:05 |
|
jcummins
| so I go to /proj/lib, type 'git svn clone URL foo' | 04:05 |
|
| that works fine | 04:05 |
|
| I commit my changes and push to my server | 04:05 |
| ← sfullenwider left | 04:06 |
|
jcummins
| then I try to pull the repo from another location | 04:06 |
| ← albertito left | 04:06 |
|
jcummins
| it does not contain the SVN repo that I cloned earlier. | 04:06 |
| → tcoppi joined | 04:06 |
|
jcummins
| Does that make sense? | 04:07 |
|
johnw-
| yes | 04:07 |
|
| I think you want to use git submodules | 04:07 |
|
| so that after cloning, your user type "git submodule update --init", and it will fetch a copy of the SVN repo mirror, once you make that mirror accessible to them | 04:07 |
|
| xshelf: wow, you wrote me on 16 Oct 2002, a while back now! | 04:08 |
| ← bts- left | 04:08 |
|
johnw-
| nice to meet you on IRC :) | 04:08 |
|
xshelf
| johnw-: Amazing, you are well organized, I am happy to meet you too | 04:09 |
| → srid joined | 04:09 |
| → tjafk1 joined | 04:09 |
|
johnw-
| yes, that time you wrote me was a very hectic time in my life indeed | 04:09 |
|
| sorry I was not more available | 04:09 |
|
jcummins
| johnw-: Interesting. So every time I want to clone my repo, I'll have to go into that folder after cloning and type 'git submodule update --init" ?? | 04:10 |
|
johnw-
| jcummins: the submodule command is run at the top-level | 04:10 |
|
| here's what you do | 04:10 |
|
| after you make your git-svn mirror in lib/proj, you type: | 04:11 |
|
| git submodule add PUBLIC-URL lib/proj | 04:11 |
|
| where PUBLIC-URL is a publically accessible place you are going to host a copy of your git-svn mirror | 04:11 |
|
| then you check in .gitmodules and lib/project | 04:11 |
|
| lib/proj | 04:11 |
|
| but the commit of lib/proj will be a submodule reference, not the whole directory tree | 04:11 |
|
xshelf
| not a problem, I started learning things and got more closer to free source development. Hacked on samba on vms, did some minor contributions to mercurial, made some noise in emacs | 04:11 |
|
johnw-
| then when others clone your project, they will run submodule update --init, which fetches the git-svn mirror from PUBLIC-URL and populates lib/proj on their side | 04:12 |
|
jcummins
| I see | 04:12 |
| ← CodeOfficer left | 04:12 |
|
johnw-
| if your Makefile depends on having lib/proj pulled down, you could add a Makefile rule to run git submodule update --init | 04:12 |
|
jcummins
| yeah, I think that's what I'll have to do. | 04:12 |
|
| I was hoping it would be an easier process. | 04:12 |
|
johnw-
| have the Makefile depend on a file that you know is in lib/proj | 04:13 |
|
| jcummins: the alternative is copying sources into your project, but I think this is the "right" now | 04:13 |
|
| here's hoping that git-submodules mature in their interface | 04:13 |
|
| jcummins: btw, I do exactly what I've suggested to you in my own project | 04:13 |
| → cedricv joined | 04:14 |
|
| offby1 has a Makefile rule that simply runs "git clone" ... can't remember why | 04:14 |
|
jcummins
| hmmm.... I'm wondering if I want to just copy all the code and add it manually. | 04:14 |
| ← eikonos left | 04:14 |
|
jcummins
| I'll lose the history, but in this case it doesn't really matter. | 04:14 |
|
johnw-
| jcummins: just for the convenience? | 04:14 |
|
xshelf
| the lack of easy infrastructure to extend git is the one of the few shortcomings other dscm complain about | 04:14 |
|
johnw-
| your Makefile can automate the pulling | 04:14 |
|
bogolisk
| johnw-: to reverse-apply a hunk to the workdir, should I use git-apply or just ...diff? | 04:15 |
|
johnw-
| bogolisk: i'd use git-apply | 04:15 |
|
bogolisk
| johnw-: fine, buy why? | 04:15 |
|
johnw-
| well, diff won't do it, and patch is an external tool | 04:15 |
|
jcummins
| johnw-: the makefile can automate the process, yes, but I'll still be dependent on their repository being up. | 04:16 |
|
bogolisk
| johnw-: ok:) I mean s/diff/patch/ | 04:16 |
|
johnw-
| jcummins: use GitHub to host your mirror | 04:16 |
|
| jcummins: unless this is private code | 04:16 |
|
| I host all of my mirrors on http://git.newartisans.com | 04:16 |
|
| there are several of them by now | 04:16 |
|
| bogolisk: git-apply is pretty much == patch, but it's available when git is | 04:16 |
|
bogolisk
| johnw-: ok. | 04:17 |
|
johnw-
| bogolisk: i merged in your latest 3 commits, thank you | 04:17 |
|
bogolisk
| johnw-: for the xxx-thing-at-point commands, would it be better to use "keymap" text attribute instead? | 04:18 |
|
| johnw-:) | 04:18 |
|
j_engelh
| johnw-: uhuh | 04:18 |
|
johnw-
| bogolisk: for a minor-mode, yes, for a major-mode, no | 04:18 |
|
j_engelh
| cgit hm | 04:18 |
|
bogolisk
| johnw-: uh... ok, buy why? | 04:20 |
|
johnw-
| well a major-mode by definition governs the modality of the buffer, so using keymap text properties is just splitting hairs | 04:20 |
|
| for a minor-mode, though, it's a nice way to localize changes in local key behavior based on content | 04:20 |
| ← paltman left | 04:21 |
|
bogolisk
| johnw-: ok, I'll think about it. I honestly have no opinion on this minor vs major thing. | 04:21 |
|
johnw-
| the elisp info manual has good sections on the difference | 04:22 |
| → igorgue joined | 04:22 |
|
johnw-
| minor modes are like auxiliary features that might be applicable within multiple major modes | 04:23 |
|
| like VC | 04:23 |
|
bogolisk
| johnw-: I just thing that for stage/unstage in the status buffer should use the same keystroke (let's say s). If the hunk was a unstaged one then it would be staged and vice-versa! An easy way to do it is to have different keymap text attribute for the hunks in the staged section vs the one in the unstaged section. | 04:25 |
|
| s/thing/think/ | 04:25 |
| ← tjafk left | 04:25 |
| ← bloopletech left | 04:25 |
|
johnw-
| bogolisk: i agree that it should use the same key | 04:25 |
|
| bogolisk: and I think it should be "s" | 04:26 |
|
| bogolisk: in which case the command should be name magit-toggle-hunk-staged | 04:26 |
|
| there are already text properties to identify if it's a staged or unstaged hunk | 04:26 |
|
bogolisk
| johnw-: it would be magit-toggle-thing-at-point-state because if it was the diff header then the whole diff would be staged/unstaged.... different keymap text properties would be simpler :) | 04:27 |
|
johnw-
| ah, you're right | 04:28 |
|
| well, perhaps you are right then | 04:28 |
|
| i bow to the rationality of fresh eyes :) | 04:28 |
|
bogolisk
| johnw-:) | 04:28 |
| → gretch` joined | 04:29 |
| → rdavila joined | 04:30 |
| ← warthog9 left | 04:30 |
|
bogolisk
| johnw-: I can code that up but it'd be nice if Marius was convinced to do it because he might have strong opinion about the UI in the status buffer | 04:30 |
|
| johnw-: i.e. It'd be nice if you can convince Marius to code that up (single key for stage/unstage) :) | 04:31 |
|
| bogolisk sleepy | 04:31 |
|
| bogolisk go to bed | 04:31 |
| ← bogolisk left | 04:31 |
|
johnw-
| night bogolisk | 04:31 |
|
| maybe you will dream of basilisks | 04:31 |
|
| the nice thing about s/u is that it prevents you making a mistake if you're in the wrong part of the buffer | 04:32 |
| ← bdiego left | 04:33 |
| ← xshelf left | 04:35 |
| → jmettraux joined | 04:36 |
| ← queso left | 04:40 |
| ← bronson left | 04:42 |
| ← madewokherd left | 04:46 |
| ← alenoosh left | 04:47 |
| ← gretch left | 04:47 |
| → alenoosh joined | 04:47 |
| → warthog9 joined | 04:53 |
| ← srid left | 04:55 |
| → SJS joined | 04:59 |
| ← SJS left | 05:01 |
| → SJS joined | 05:01 |
| → srid joined | 05:02 |
| gretch` → gretch | 05:02 |
| ← srid left | 05:02 |
| ← cedricv left | 05:03 |
| ← alenoosh left | 05:10 |
| → ph^ joined | 05:12 |
| ← rmh3093 left | 05:12 |
| ← rdavila left | 05:15 |
| → schacon joined | 05:15 |
| ← schacon left | 05:15 |
| ← perezd88 left | 05:15 |
| → rmh3093 joined | 05:15 |
| ← mithro left | 05:15 |
| ← ThunderChicken left | 05:16 |
| → mithro joined | 05:16 |
| SJS → ThunderChicken | 05:17 |
| → alenoosh joined | 05:18 |
| → robinr joined | 05:19 |
| ← igorgue left | 05:19 |
| → igorgue_ joined | 05:19 |
| igorgue_ → igorgue | 05:19 |
| → Aikawa joined | 05:22 |
| → sgrimm joined | 05:23 |
| ← ruphy left | 05:24 |
| → adante joined | 05:29 |
| ← jstad left | 05:30 |
|
khc
| what's this para-walk branch found on an email 2 years ago? | 05:31 |
| → eikonos joined | 05:32 |
| → perezd88 joined | 05:35 |
|
Mikachu
| apparently something that was discarded for some reason :) | 05:37 |
|
khc
| I was hoping that it would help over nfs | 05:37 |
| ← robinr left | 05:38 |
|
| khc wonders who's Junio C Hamano here | 05:39 |
|
Mikachu
| gitster | 05:39 |
|
khc
| gitster: why did you drop para-walk ;-) | 05:39 |
| ← xinming left | 05:42 |
| → xinming joined | 05:42 |
| → bugfux joined | 05:48 |
| ← xinming left | 05:48 |
| → jackdempsey joined | 05:48 |
| ← jmettraux left | 05:48 |
| ← Beket left | 05:48 |
| → xinming joined | 05:55 |
| ← LostInTheWorld left | 05:56 |
| ← krawek left | 06:00 |
| ← zdennis_ left | 06:05 |
| → mstormo joined | 06:05 |
| → schacon joined | 06:06 |
| → kixx joined | 06:06 |
| ← jcummins left | 06:11 |
| ← alenoosh left | 06:12 |
| → xinming_ joined | 06:15 |
| → l0verb0y joined | 06:21 |
| → daaku joined | 06:22 |
| ← ciaran left | 06:23 |
|
zjason_
| git-cat-file -e can tell whether a commit exist. How to do this in gitweb interface? | 06:23 |
|
daaku
| i did something stupid - i commited - pushed - reset - commited. i know no one else has pulled after me, can i force the push and get around the 'rejected - non fast forward' error? | 06:23 |
|
| nm. force. so obvious! | 06:24 |
| ← aquabu left | 06:26 |
|
resmo
| i heard about that git can act as a svn server, git running on server, clients can use their svn-clients. But didn't find any information about on the web. | 06:27 |
| ← xinming left | 06:29 |
|
johnw-
| it can run as a cvsserver, not svn | 06:29 |
| ← trochala left | 06:32 |
| ← mikem left | 06:34 |
| → trochala joined | 06:35 |
| → capisce joined | 06:36 |
| ← daaku left | 06:37 |
| ← igorgue left | 06:39 |
| → xinming joined | 06:39 |
| ← tcoppi left | 06:43 |
|
resmo
| johnw-: ah ok. Got this wrong | 06:43 |
| ← perezd88 left | 06:48 |
| ← meyering left | 06:49 |
| → meyering joined | 06:49 |
| ← capisce_ left | 06:49 |
| → Adri2000 joined | 06:49 |
| ← xinming_ left | 06:50 |
| → BabelO joined | 06:50 |
| ← schlort left | 06:52 |
| alb → albertito | 06:58 |
| albertito → Maxy | 06:59 |
| Maxy → albertito | 06:59 |
| ← bobesponja left | 07:00 |
| ← trochala left | 07:00 |
| → trochala joined | 07:01 |
| → CodeOfficer joined | 07:01 |
| → alenoosh joined | 07:03 |
| ← mstormo left | 07:04 |
| ← Aikawa left | 07:04 |
| ← mithro left | 07:04 |
| ← bartman left | 07:04 |
| ← kanru left | 07:04 |
| ← mtodd left | 07:04 |
| ← rtyler left | 07:04 |
| ← greedo left | 07:04 |
| ← univate left | 07:04 |
| ← pflanze left | 07:04 |
| ← dancor left | 07:04 |
| ← comp left | 07:04 |
| ← corecode left | 07:04 |
| ← xjjk left | 07:04 |
| ← hacim left | 07:04 |
| ← Magnus` left | 07:04 |
| ← johannes left | 07:04 |
| ← stick left | 07:04 |
| ← metze left | 07:04 |
| ← tmm1 left | 07:04 |
| ← pmcnabb left | 07:04 |
| ← GyrosGeier left | 07:04 |
| ← cods left | 07:04 |
| ← ruskie left | 07:04 |
| ← yann left | 07:04 |
| ← tarbo_ left | 07:04 |
| ← eMBee left | 07:04 |
| → GyrosGeier joined | 07:05 |
| → hacim joined | 07:05 |
| → cods joined | 07:05 |
| → metze joined | 07:05 |
| → Magnus` joined | 07:05 |
| → rtyler joined | 07:05 |
| → dancor joined | 07:06 |
| → corecode joined | 07:06 |
| → bartman joined | 07:06 |
| → tarbo joined | 07:06 |
| → pmcnabb joined | 07:06 |
| → mstormo joined | 07:06 |
| → comp joined | 07:06 |
| → xjjk joined | 07:06 |
| → RichGuk joined | 07:08 |
| → eMBee joined | 07:09 |
| → stick joined | 07:09 |
| → mtodd joined | 07:10 |
| ← neoeinstein left | 07:11 |
| → jcummins joined | 07:11 |
|
Arjen
| What would be the 'cleanest' way to get the sha1 of the current branch head? | 07:13 |
| → mithro joined | 07:13 |
| → ruskie joined | 07:13 |
|
thiago_home
| git rev-parse EHAD | 07:14 |
|
| HEAD | 07:14 |
|
Arjen
| Of course, thanks :-) | 07:14 |
| ← CIA-2 left | 07:16 |
| → kanru joined | 07:18 |
| → univate joined | 07:18 |
| → greedo joined | 07:18 |
| → pflanze joined | 07:18 |
| → yann joined | 07:18 |
| → Aikawa joined | 07:19 |
| → FunkeeMonk joined | 07:20 |
| ← pjhyett left | 07:21 |
| → johnw_ joined | 07:22 |
| ← davidfetter left | 07:25 |
| → ciaran joined | 07:25 |
| ← jackdempsey left | 07:27 |
| → johannes joined | 07:31 |
| → tmm1 joined | 07:32 |
| ← johnw- left | 07:32 |
| → jackdempsey joined | 07:33 |
| ← jackdempsey left | 07:36 |
| → nutrimatt joined | 07:37 |
| → redondos joined | 07:40 |
| ← machrider left | 07:41 |
| → bartocc joined | 07:43 |
| → cilly joined | 07:46 |
| → priidu joined | 07:48 |
| → reel_ joined | 07:50 |
| ← janneke left | 07:55 |
| → janneke1 joined | 07:55 |
| → redondos_ joined | 07:57 |
| ← bartocc left | 07:58 |
| → bartocc joined | 07:59 |
| → fgeek joined | 08:00 |
| ← sgrimm left | 08:02 |
| ← ciaran left | 08:04 |
| jdq_ → jdq | 08:04 |
| → sgrimm joined | 08:05 |
|
reuss
| when installing git 1.6.0 is git-sh-setup supposed to go away also? .. if yes, how do you get the require_work_tree and cd_to_toplevel functionality in your scripts? | 08:08 |
|
Mikachu
| reuss: s/git-/git / in all your scripts | 08:08 |
|
reuss
| yeah, i did that - but it doesn't work.. | 08:09 |
|
| i still get that those two commands are not found .. | 08:09 |
|
| git sh-setup; require_work_tree; cd_to_toplevel; doesn't seem to work in my script | 08:10 |
| ← redondos left | 08:11 |
| redondos_ → redondos | 08:11 |
|
reuss
| and i get the right git version in my script | 08:11 |
|
osfameron
| I'd like to push a git repo from my laptop to the server | 08:11 |
|
| I've done git init-db on my server | 08:11 |
|
| but the manpage for "git-push" doesn't seem to refer to this use case (from a quick skim, do I need to rtfm this in more depth?) | 08:12 |
| → HFactor joined | 08:13 |
|
Mikachu
| reuss: maybe you should read the manpage | 08:13 |
|
HFactor
| hi all, | 08:13 |
|
| do any have a small presentation (slide) for basic git ... | 08:13 |
|
mithro
| hey guys, I'm having problem with the git-cvsserver bridge not working properly - it's adding empty commits | 08:13 |
|
osfameron
| ah, I have to "git remote add origin" ? | 08:14 |
|
reuss
| Mikachu: yeah, did that - theres a "right" way of sourcing it it seems .. and i was doing it wrong :) .. . "$(git --exec-path)/git-sh-setup" works.. | 08:14 |
| ← polpak left | 08:15 |
| → icwiener joined | 08:15 |
| ← HFactor left | 08:16 |
| ← FunkeeMonk left | 08:17 |
| ← soultan left | 08:17 |
| → bartocc_ joined | 08:17 |
| ← l0verb0y left | 08:17 |
|
mithro
| I'm using git 1.5.6 and there is nothing strange in the gitcvs log | 08:17 |
| ← khc left | 08:17 |
|
mithro
| anyone got any idea how to debug this problem? | 08:19 |
| ← Tv left | 08:20 |
| → snitko joined | 08:20 |
| → jmesnil joined | 08:20 |
| ← lu_zero_ left | 08:21 |
| → offby1` joined | 08:24 |
| ← kixx left | 08:24 |
| → soultan joined | 08:25 |
| ← cods left | 08:26 |
| ← schacon left | 08:26 |
| → Shilin joined | 08:27 |
|
Shilin
| hi, I have a git repository and inside it there is another git repository. Seems like the sub-git repository cannot be added and commited. How do I handle that ? | 08:29 |
|
up_the_irons
| Shilin: that's correct, git will not add another .git directory within a repo | 08:30 |
|
| Shilin: I have no idea how to handle that though, sorry | 08:30 |
|
Shilin
| anyway, thank you. I have been struggling with that and only now I have noticed that subfolder is not commited. Now I know the problem and I will use a different approach. | 08:31 |
| ← RichGuk left | 08:32 |
| ← bartocc left | 08:33 |
| ← bugfux left | 08:34 |
| → cods joined | 08:34 |
| → volante_ joined | 08:35 |
| → jmesnil_ joined | 08:35 |
| → jtoy joined | 08:36 |
| → m3y3ring joined | 08:36 |
| ← CodeOfficer left | 08:37 |
|
jtoy
| dumb question, how can I know what revision i am on? | 08:38 |
| ← johnw_ left | 08:38 |
| ← cilly left | 08:39 |
| ← offby1 left | 08:39 |
| ← jmesnil left | 08:39 |
|
jtoy
| is there first line of git show the same thing as current version? | 08:40 |
|
osfameron
| jtoy: doesn't sound like a dumb question. (And I don't know either, but would like to) | 08:41 |
| ← meyering left | 08:41 |
|
Mikachu
| if you want only the number, git rev-parse HEAD | 08:41 |
| → f0rkit joined | 08:42 |
|
jtoy
| ahhh, nice, having a hard time on google finding that | 08:42 |
|
osfameron
| ah, I woul dnever have thought of that :-) | 08:43 |
|
| I did try "git info" on the lines of "svn info" but no joy | 08:43 |
|
Arjen
| It's one of those commands you overlook | 08:43 |
|
| (I had the same question earlier :-) | 08:43 |
| m3y3ring → meyering | 08:44 |
| ← jcummins left | 08:46 |
| → danten joined | 08:56 |
| → schlort joined | 08:56 |
| → Tv joined | 08:59 |
| → samjam joined | 09:00 |
| ← samjam left | 09:00 |
| → advany joined | 09:00 |
| → samjam joined | 09:01 |
|
samjam
| how can I list only tags of a branch? | 09:01 |
|
thiago
| there's no such concept | 09:02 |
|
| tags don't belong to a branch | 09:03 |
|
| what you want is to find all tags that are in the past history of a given branch | 09:03 |
|
| I don't know of any commands for doing that, but it can be scripted | 09:04 |
|
osfameron
| git+- # you can do everything, but it might hurt | 09:04 |
|
thiago
| git tag | while read tag; do test $(git merge-base $tag master)== $(git rev-parse $tag) && echo $tag; done | 09:05 |
|
| change "master" to the branch you want | 09:05 |
|
| and add a space before == | 09:05 |
|
| samjam pauses to grok that command | 09:05 |
|
wildfire
| thiago, should it be 'git tag -l' ? | 09:06 |
|
thiago
| wildfire: same thing | 09:06 |
|
| samjam: Did you get the merge-base and rev-parse ? | 09:06 |
|
samjam
| I'm just "getting" it | 09:06 |
|
| thiago knows of no other way of telling whether $commit1 is an ancestor of $commit2 | 09:07 |
| ← sverrej_ left | 09:07 |
|
thiago
| though such a command would be extremely useful, since merge-base is more expensive than necessary if there is no ancestor relationship | 09:07 |
|
samjam
| so if the best merge between tag and master is the tag, then the tag is there... | 09:07 |
| ← SeJo left | 09:07 |
|
samjam
| thats cool, thanks | 09:08 |
|
thiago
| "is $commit1 an ancestor of $commit2" == "is the merge-base of $commit1 and $commit2 equal to $commit1" | 09:08 |
|
| that's a property of a merge-base | 09:08 |
|
samjam
| I shall credit you with that jagh (just-another-git-hacker) | 09:09 |
| → johnw joined | 09:09 |
|
doener_
| test -z "$(git rev-list -1 ..$tag)" | 09:09 |
|
wildfire
| pasky, is your gitweb 'graphic log' integrated in to mainline at all? | 09:09 |
|
doener_
| though I doubt that that is any faster | 09:09 |
|
thiago
| doener_: what's that supposed to do? | 09:10 |
|
| that will work if $tag is in the future of HEAD, but not if it's branching from the past | 09:10 |
|
doener_
| same thing as the merge-base thing (well, for HEAD instead of master) | 09:10 |
| ← BarryCarlyon left | 09:11 |
|
thiago
| it works if $commit2 is a parent of $commit1, but not if $commit1 and $commit2 are not ancestors of each other | 09:11 |
|
samjam
| I need only tags which are direct ancestors, not also in the future | 09:12 |
|
thiago
| exactly | 09:12 |
|
| that's what the command I gave you does | 09:12 |
|
doener_
| hm? "a..b" is empty exactly when b is an ancestor of a | 09:13 |
| ← eddyp left | 09:13 |
|
samjam
| it's brilliant; just so you know it's part of an srpm builder which extracts "pristine" source for the last tagged release and patches since that | 09:13 |
|
| hmmm.... although it seems the darn'd samba team branch and then tag the branch; so it can't help there... ah well... | 09:15 |
|
pasky
| wildfire: no | 09:15 |
|
| wildfire: I have some patches upcoming that will at least make it easier to integrate | 09:16 |
|
doener_
| thiago: what do you mean by "branching from the past"? | 09:16 |
|
thiago
| doener_: a..b is also empty when a isn't an ancestor of b, but there's a third commit c such that c is ancestor of both a and b | 09:16 |
|
| i.e. merge-base a b == c | 09:16 |
|
doener_
| no | 09:16 |
|
thiago
| yes | 09:16 |
| ← trochala left | 09:17 |
|
thiago
| $ git rev-list -1 ..networkaccess-branchpoint | wc -l | 09:17 |
|
| 0 | 09:17 |
|
| what do you take that to mean? | 09:17 |
|
doener_
| that networkaccess-branchpoint is an ancestor of your HEAD | 09:18 |
|
thiago
| $ git rev-parse HEAD | 09:18 |
|
| 0121852471196486340d20cdcc53b78dbe3dd52a | 09:18 |
|
doener_
| http://git.pastebin.com/m1786adee | 09:18 |
|
thiago
| $ git rev-parse networkaccess-branchpoint | 09:19 |
|
| 632ee4fce4e7505c77627362cd306e30c42aeca8 | 09:19 |
|
| $ git merge-base HEAD networkaccess-branchpoint | 09:19 |
|
| 9c3495b69f719005fbda1bfd860c4d7c7b3c4cd3 | 09:19 |
|
| what does that tell you now? | 09:19 |
|
samjam
| I guess I could look for where the common ancestor is the tag or a parent of the tag | 09:19 |
|
pasky
| for the love of god, please teach git branch --contains | 09:21 |
|
doener_
| thiago: that tells me that you merged networkaccess-branchpoint into your HEAD, but that networkaccess-branchpoint itself is still pointing to the commit _before_ that merge commit, I'd say | 09:21 |
|
pasky
| instead of heavy-grade plumbing :) | 09:21 |
|
| though, hmm | 09:22 |
|
thiago
| pasky: it's the inverse of git branch --contains | 09:22 |
| ← m-vo left | 09:22 |
|
pasky
| well, its output is the inverse | 09:22 |
|
| not the function | 09:22 |
|
| but yes, this could be more elegant | 09:23 |
|
doener_
| thiago: so networkaccess-branchpoint _is_ an ancestor of HEAD, and the merge-base trick failed | 09:23 |
|
| but that makes no sense to me either | 09:24 |
|
thiago
| doener_: ah, found my mistake | 09:24 |
|
| rev-parse returned the SHA-1 of the tag, not of the commit the tag points to | 09:24 |
|
doener_
| heh :-) | 09:25 |
|
thiago
| $ git rev-parse networkaccess-branchpoint^{commit} | 09:25 |
|
| 9c3495b69f719005fbda1bfd860c4d7c7b3c4cd3 | 09:25 |
|
| so, yeah, it is an ancestor | 09:25 |
|
pasky
| :) | 09:25 |
|
thiago
| pasky: git branch --contains will tell you which branches contain the tag | 09:25 |
|
| samjam: wants the tags that are contained by a given branch | 09:25 |
|
samjam
| adding ^{commit} to your jagh gave me what I expected | 09:26 |
|
thiago
| samjam: yep | 09:26 |
|
doener_
| ok, so we agree that "a..b" being empty also signifies ancestry, right? | 09:26 |
|
thiago
| hint: put that inside '' | 09:26 |
|
pasky
| thiago: I meant to just use git branch --contains instead of the merge-base stuff | 09:26 |
|
| it's slower and less elegant, yes | 09:26 |
|
| but more understandable :) | 09:26 |
|
thiago
| doener_: agreed | 09:27 |
|
| pasky: git branch --contains $tag | grep -q $branch ? | 09:27 |
|
pasky
| kind of | 09:27 |
|
samjam
| So I have: | 09:27 |
|
| git tag -l "$PATTERN" | while read tag; do test "$(git merge-base $tag HEAD)" = "$(git rev-parse $tag^{commit})" && echo $tag || echo .; done | 09:27 |
| → sverrej joined | 09:28 |
|
thiago
| pasky: it's a lot less efficient, since for each tag it'll scan all branches | 09:28 |
|
pasky
| as I said | 09:28 |
|
| I think git rev-list -1 ^HEAD $tag is more reasonable than merge-base | 09:28 |
|
thiago
| yeah, but I thought you meant "a little less efficient", not "a lot less efficient" | 09:28 |
| → trochala joined | 09:28 |
|
pasky
| *shrug* :) | 09:28 |
|
thiago
| let me put it this way: | 09:29 |
| ← Sput left | 09:29 |
|
thiago
| if you're writing a pre-update hook script that determines if a forced push is allowed or not, you'd use git rev-list -1 $orig $new ? | 09:29 |
| → Sput joined | 09:30 |
| → deavid joined | 09:30 |
|
pasky
| thiago: no, I'd use ^$orig $new | 09:31 |
|
| ;) | 09:31 |
|
| but yeah | 09:31 |
|
| thiago updates his hook script | 09:32 |
|
pasky
| now, I have a feeling that I've written such a hook before and in that case I almost certainly used merge-base there | 09:32 |
|
| but that's simply because -1 is relatively new invention | 09:32 |
| ← mtodd left | 09:32 |
|
thiago
| can we have git is-ancestor $rev1 $rev2 | 09:33 |
| → mtodd joined | 09:33 |
| dwmw2_gone → dwmw2 | 09:33 |
|
thiago
| returns 0 if they are the same, 1 rev1 is ancestor of rev2, 255 if rev2 is ancestor of rev1 and 128 if they are not related? | 09:33 |
| ← GyrosGeier left | 09:33 |
| ← jelmer left | 09:33 |
| ← hegge left | 09:33 |
|
pasky
| I think having such a specialized command would be fairly unnatural | 09:34 |
|
| since it's so trivial to do with rev-list | 09:34 |
|
| it might make sense ti include this in some rev-list(1) cookbook though | 09:35 |
| → GyrosGeier joined | 09:35 |
| → hegge joined | 09:35 |
| → jelmer joined | 09:35 |
|
thiago
| wtf | 09:38 |
|
| $ git rev-list -1 ^master HEAD | 09:38 |
|
| fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. | 09:38 |
|
samjam
| so I should use git-merge-base or git-rev-list ? | 09:38 |
| ← johnw left | 09:39 |
|
| thiago sets the hook script and waits to see if anyone complains | 09:41 |
| → gebi joined | 09:45 |
|
doener_
| samjam: you could also try to parse this: git log --decorate --pretty=oneline | grep 'tag:' | 09:45 |
|
| samjam: that's probably quite hard and fragile though, but possibly a log faster, since it walks the history only once | 09:46 |
| → chris2 joined | 09:46 |
| ← selckin left | 09:46 |
|
samjam
| hey, thats really good; whats fragile about it, the output format may change? | 09:47 |
|
doener_
| extracting the refs/tags/whatever part | 09:47 |
|
| there might be more than one entry per commit, and you have to cope with whitespace and stuff | 09:48 |
|
| but it's a hell of a lot faster. Just looking up the merge-bases for HEAD and v0.99 and v1.0.0 in git.git already takes longer than the whole log command | 09:49 |
| → ereslibre joined | 09:49 |
| ← trochala left | 09:50 |
| → ^matthieu^ joined | 09:50 |
|
doener_
| maybe you could convince someone to at least provide a pretty=format option that allows to print the decorations, or something like that | 09:50 |
|
| would probably make the job easier | 09:50 |
| → trochala joined | 09:51 |
| → JanK joined | 09:51 |
|
JanK
| can i search for files in the history? | 09:51 |
|
| (i'm looking for a file in a deleted folder, but i dont know the rev when it was added and removed) | 09:52 |
|
doener_
| git log -- directory/file | 09:53 |
| ← snitko left | 09:57 |
| → skarab joined | 09:58 |
| → Lash| joined | 09:59 |
| → cilly joined | 10:00 |
| ← pygi left | 10:01 |
| ← dancor left | 10:01 |
| dwmw2 → dwmw2_gone | 10:02 |
| ← skarab left | 10:03 |
| ← jtoy left | 10:03 |
| janneke1 → janneke | 10:06 |
| ← tjafk1 left | 10:06 |
| → tjafk joined | 10:06 |
| → tcoppi joined | 10:08 |
| ← BabelO left | 10:10 |
|
vuf
| uhm, I want the rebase -i functionality (for squashing), but rebase says there is nothing to do because master did not advance | 10:10 |
| → astubbs joined | 10:11 |
| ← ereslibre left | 10:13 |
|
doener_
| maybe you wanted "git rebase -i HEAD~5" or something? | 10:13 |
|
vuf
| doener_: yes it seems like it. Why is specifying HEAD~5 and master different, it's the same commit? | 10:15 |
|
doener_
| are master and HEAD the same, or master and HEAD~5? | 10:15 |
| ← astubbs left | 10:15 |
|
doener_
| if master and HEAD~5 really reference the same commit, then there's no difference | 10:16 |
|
vuf
| do'h! | 10:16 |
| → dragonball_ joined | 10:16 |
|
doener_
| I assumed that you are currently on master and that you want to change some commits that are also on master | 10:16 |
| ← trochala left | 10:16 |
|
vuf
| sorry, I forgot to change away from master before trying the rebase | 10:16 |
|
| doener_: you are right, and I am stupid | 10:16 |
|
doener_
| that's what you said ;-) | 10:16 |
|
vuf
| thanks | 10:17 |
| → janm joined | 10:21 |
| → trochala joined | 10:22 |
| → xshelf joined | 10:22 |
|
xshelf
| i want to use lighttpd to show gitweb, what is the minimum conf I need to get it going (just a read only web UI for repo) | 10:25 |
| → parasti joined | 10:27 |
| → ysis joined | 10:28 |
| ← Method left | 10:29 |
|
doener_
| xshelf: try starting "git instaweb", that starts a lighttpd running gitweb for the current repo | 10:29 |
|
| xshelf: the used config file will be placed in .git/gitweb/httpd.conf | 10:29 |
|
xshelf
| if I want to host 2 repos, can I do from the common root folder? | 10:29 |
| → bcarlyon|laptop joined | 10:29 |
| → l0verb0y joined | 10:31 |
|
doener_
| xshelf: yes. See README and INSTALL of gitweb | 10:32 |
| → Method joined | 10:36 |
| ← cilly left | 10:38 |
| ← trochala left | 10:40 |
| → trochala joined | 10:41 |
| → Yuuhi joined | 10:41 |
| → cilly joined | 10:41 |
|
BBHoss
| anyone know why in os x git instaweb would give a 500 and an error on the console: (mod_cgi.c.584) cgi died | 10:42 |
|
| (mod_cgi.c.998) CGI failed: Exec format error /Users/hoss/Documents/synergyeoc/.git/gitweb/gitweb/gitweb.cgi | 10:42 |
| ← JanK left | 10:42 |
| ← l0verb0y left | 10:45 |
|
xshelf
| doener_: I apologize for my impulsive questions, I did the easier way. I had cloned the git repo, I too a peek into the httpd.conf under the .git/gitweb. Thanks | 10:46 |
| → vbabiy joined | 10:47 |
| → Weasel[DK]_work joined | 10:49 |
|
doener_
| xshelf: no need to apologize. Bote that "instaweb" also modifies gitweb.cgi to set the project root, and maybe other stuff as well. I'm not that familiar with it | 10:52 |
|
| uhm, s/Bote/Note/ | 10:52 |
|
ciaran29d
| doener_: do you have a cold? :) | 10:52 |
| → tvw joined | 10:53 |
|
doener_
| not anymore, I had one during most of July | 10:53 |
| → m-vo joined | 10:55 |
| → bentob0x joined | 10:56 |
| → langenberg joined | 10:56 |
| ← pflanze left | 10:57 |
|
langenberg
| I'm trying to write a post-receive hook, to notify people with log old...new. Now I added one line to the file: echo Old:$1 New:$2 Ref:$3 >> ~/support_git.log, but the result output is: Old: New: Ref: | 10:57 |
|
| post-receive should get called with <old-value> SP <new-value> SP <ref-name> LF, right? | 10:58 |
|
doener_
| langenberg: yeah, but on stdin | 10:59 |
|
langenberg
| What does that mean? | 10:59 |
|
| $n is for parameters and not stdin? | 10:59 |
| → yatiohi joined | 11:00 |
| ← tcoppi left | 11:00 |
|
doener_
| it's "echo old new ref | post-receive", not "post-receive old new ref" | 11:00 |
|
| and $n refers to the positional parameters | 11:00 |
|
langenberg
| Aah I see | 11:01 |
|
doener_
| "read old new ref" should do | 11:01 |
| ← trochala left | 11:01 |
|
doener_
| probably with a while loop to process every line | 11:02 |
| → botanicus joined | 11:03 |
| ← Lash| left | 11:04 |
| ← Cap_J_L_Picard left | 11:04 |
| → Cap_J_L_Picard joined | 11:04 |
| → Lash| joined | 11:09 |
| ← cilly left | 11:10 |
| ← imyousuf left | 11:11 |
| → ereslibre joined | 11:12 |
| → cilly joined | 11:14 |
| ← waltman left | 11:14 |
| → eddyp_work joined | 11:19 |
| bcarlyon|laptop → BCarlyon|Laptop | 11:20 |
|
eddyp_work
| is there a way to get rid of a remote branch which was packed? I got rid of the remote and I don't have any (remote) refs anymore, except a packed ref | 11:21 |
|
| should I just remove the line in packed-refs and repack? | 11:22 |
|
| err, s/repack/git gc/ | 11:22 |
| ← Tv left | 11:23 |
| → davi joined | 11:24 |
| → selckin joined | 11:24 |
| ← botanicus left | 11:25 |
| ← BBHoss left | 11:29 |
|
uau
| eddyp_work: any reason you can't delete the ref normally (without manually editing packed-refs)? | 11:32 |
|
eddyp_work
| uau: with git-??? which command? | 11:32 |
|
uau
| and exactly what do you mean by "getting rid" of the branch? that you have no more references to it? or freeing the disk space used by objects only belonging to it? | 11:33 |
|
| how to delete references depends on what kind they are | 11:33 |
|
| (branch or tag) | 11:33 |
|
eddyp_work
| uau: both... is a remote branch | 11:34 |
|
uau
| if you already deleted the remote that should delete associated remote branches IIRC? | 11:34 |
|
eddyp_work
| apparently I managed to manually mess it up so it doesn't see any remote, but the remote branch is visible | 11:35 |
|
uau
| you can delete remote branches with "git branch" too | 11:36 |
|
| with the -r switch | 11:36 |
| ← soultan left | 11:37 |
|
eddyp_work
| uau: thanks, branch deleted | 11:37 |
| ← brendon_work left | 11:38 |
|
| eddyp_work hopes git gc will remove the objects kept in place by that branch, too | 11:38 |
| → brendon_work joined | 11:38 |
|
uau
| if you had the branch checked out recently there can still be references to it in the HEAD reflog | 11:38 |
|
eddyp_work
| and it seems indeed that there are less objects now | 11:38 |
| → soultan joined | 11:39 |
|
eddyp_work
| .. but more wasted space ... oh, well .... | 11:42 |
| → BBHoss joined | 11:42 |
|
Weasel[DK]_work
| Trying to create a GIT repo from CVS via git-cvsimport, but i get error on files which were deletet once (Attic), now it complaints about the files not longer int repo. What can be done ? | 11:43 |
| ← jmspeex left | 11:43 |
| ← tvw left | 11:44 |
| → yofel joined | 11:44 |
| → tvw joined | 11:44 |
| → ebel joined | 11:46 |
| ← mithro left | 11:48 |
| → lea_w joined | 11:50 |
| → LostInTheWorld joined | 11:50 |
| → diask joined | 11:51 |
| ← brendon_work left | 11:51 |
| → Tv joined | 11:52 |
| → brendon_work joined | 11:52 |
|
broonie
| Hrmpf. Why do I still have loose objects after git repack -a -d? | 11:53 |
| → mithro joined | 11:57 |
| → cbreak joined | 11:59 |
| ← langenberg left | 12:00 |
|
vuf
| broonie: I think that unreferenced objects are retained for 30 days, see git-gc configuration | 12:01 |
| → joelmoss joined | 12:01 |
|
joelmoss
| hi all | 12:01 |
| → pygi joined | 12:03 |
| deavid → xdeavid-away | 12:04 |
| → yofel_ joined | 12:05 |
| ← tiglionabbit left | 12:05 |
| → tiglionabbit joined | 12:06 |
| → cannonball joined | 12:07 |
| → j_manu joined | 12:08 |
| ← ysis left | 12:09 |
|
j_manu
| newbie here. If i create a new branch with "git checkout -b test" and then edit a file and when i do "git status" I see the edited file as mmodified. All fine and good. Now when i do "git checkout master" and then do "git status" I don't expect to see the modified file | 12:10 |
|
| in there because I though branches were totally independent. | 12:10 |
|
doener_
| you didn't commit yet | 12:10 |
| → dancor joined | 12:10 |
|
doener_
| so the changes are in your working tree and/or index only | 12:11 |
|
j_manu
| so if i don't commit the changes are global across all branches ? | 12:11 |
|
doener_
| branches are just pointers to commits | 12:11 |
|
dancor
| how do i run gitweb with gitosis? just running git instaweb from my gitosis-admin repo doesn't fill in the descriptions, nor does it hide the repos without 'gitweb = yes' | 12:11 |
|
j_manu
| hmm.. sorry for the svn lingo.. so if both master and test point to revision 88 initially | 12:12 |
|
doener_
| branches are just references to commits. Until you commit, your changes are not in any commit. | 12:12 |
|
j_manu
| I need to commit the changes to bump up the version of test and point it to a different commit ? | 12:12 |
|
doener_
| minus some remaining svn lingo, yes | 12:13 |
| cbrake_away → cbrake | 12:13 |
|
doener_
| if you commit, git creates a new commit object and adjusts your current branch to point to that new commit | 12:13 |
|
j_manu
| and whn i do svn merge test, master resets to that particular commit ? | 12:13 |
|
| sorry git merge test | 12:13 |
|
doener_
| depends. | 12:14 |
| ← Cap_J_L_Picard left | 12:14 |
|
doener_
| if there are no commits in master that are not in test, then yes, master can be fast-forwarded | 12:14 |
| → Cap_J_L_Picard joined | 12:14 |
|
j_manu
| what happens when there are independent commits in both ? | 12:14 |
|
doener_
| if there are commits in master that are not in test, then a merge commit is created and master gets updated to point to that merge commit | 12:14 |
|
j_manu
| ok. | 12:15 |
|
| and test will still point to the same commit as before right ? | 12:15 |
|
doener_
| yep | 12:15 |
| → lorandi joined | 12:15 |
|
doener_
| "gitk master test" nicely visaulizes that | 12:15 |
|
| s/au/ua/ | 12:16 |
|
j_manu
| {unfortunately can't access gui. working using ssh]. how do i disregard all changes in the working copy ? git reset HEAD^ ? | 12:16 |
|
doener_
| uncommitted changes? just "git reset --hard" | 12:16 |
|
j_manu
| oh!. then i'm confused. What does git reset HEAD^ do then ? | 12:17 |
|
doener_
| HEAD^ is the first parent of HEAD, so "git reset HEAD^" would move your branch back to the previous commit | 12:17 |
|
eddyp_work
| j_manu: git reset HEAD^ would loose you latest committed entry | 12:17 |
|
j_manu
| oh. | 12:17 |
|
eddyp_work
| but your working copy would be unaffected | 12:17 |
|
doener_
| and because it defaults to --mixed, the changes would not be dropped at all, the working tree would remain unchanged | 12:17 |
|
| "git reset --hard" == "git reset --hard HEAD" == reset the index and working tree to match HEAD | 12:18 |
|
eddyp_work
| actually, in git nothing is usually lost until you 'git gc' | 12:18 |
|
j_manu
| but if i do git status then all the changes which was in the dropped commit will show up right ? | 12:18 |
|
eddyp_work
| yes | 12:18 |
|
j_manu
| so it is useful to drop a commit and then redo it again ? | 12:19 |
|
doener_
| (unless you use --hard) | 12:19 |
|
j_manu
| --hard will disregard all working copy changes also ? | 12:19 |
|
doener_
| eddyp_work: since 1.6.0, reflogs don't expire anymore be default. So even gc won't drop anything | 12:19 |
|
eddyp_work
| if you:1) never published that change 2) you think you should reorganize history | 12:20 |
|
| j_manu: ^^^ | 12:20 |
|
| doener_: so how do you make them be dropped? git gc --prune? | 12:20 |
|
doener_
| "git reset --hard HEAD^" == move the current branch to HEAD^ and reset the index and working tree to match that | 12:20 |
|
| eddyp_work: no, you need to drop the reflog entries first | 12:20 |
| ← tvw left | 12:21 |
|
doener_
| pruning only affects unreferenced objects anyway | 12:21 |
|
| s/unreferenced/unreachable/ | 12:21 |
|
eddyp_work
| I see | 12:21 |
| ← yofel left | 12:22 |
| → advany_ joined | 12:23 |
| ← advany left | 12:23 |
|
j_manu
| got it.. | 12:24 |
| ← soultan left | 12:24 |
|
eddyp_work
| j_manu: I think you shoul dalso read this: http://gitfu.wordpress.com/2008/04/09/links-about-the-git-index/ | 12:25 |
|
j_manu
| what does HEAD and HEAD^1 and HEAD^2 refers to ? is it trunk, trunk minus 1 commit, trunk misu 2 commits ? [pardon svn lingo] | 12:25 |
|
| I will look into it.. thanks | 12:25 |
| → juanjoc joined | 12:25 |
| → soultan joined | 12:26 |
|
doener_
| juanjoc: HEAD is a reference that points to what have checked out at the moment | 12:26 |
|
eddyp_work
| j_manu: HEAD^2 is not anything, but HEAD~2 is correct | 12:26 |
|
doener_
| argh... stupid tab-completion | 12:26 |
|
pasky
| HEAD^2 is second parent of head | 12:26 |
| → BabelO joined | 12:26 |
| → capisce_ joined | 12:26 |
|
eddyp_work
| pasky: is really *^*2 valid? | 12:26 |
|
doener_
| j_manu: (the above was for you) | 12:26 |
|
pasky
| eddyp_work: yes | 12:26 |
|
| but it is meaningful only for merge commits | 12:27 |
| → langenberg joined | 12:27 |
|
jast
| HEAD~2 means take the first parent of the first parent (i.e. go up to the first parent twice) | 12:27 |
|
doener_
| j_manu: most of the time it will be a symbolic ref to some branch | 12:27 |
|
pasky
| ^ chooses parents horizontally, ~ dives into history vertically ;) | 12:27 |
|
doener_
| j_manu: that can be resolved to the commit that the branch points to. And the ^ and ~ syntax walks along the ancestry of commits | 12:28 |
|
eddyp_work
| pasky: but most of the times you'd want ~ | 12:28 |
|
doener_
| j_manu: git-rev-parse(1) has more information | 12:28 |
|
j_manu
| ok.. in svn terms if i checkout revision 88, HEAD points to revision 88, HEAD~1 is 87 HEAD~2 is 86 etc ? | 12:28 |
|
eddyp_work
| j_manu: correct | 12:28 |
|
doener_
| "kind of" | 12:28 |
|
j_manu
| ok :). kind of means ? | 12:28 |
|
Weiss
| doener_: what is 'origin/HEAD' in that case? especially since 'origin' is a bare repository.. | 12:29 |
|
eddyp_work
| for heads with mutiple parents the thing is more complicated, I guess | 12:29 |
|
doener_
| Weiss: bare repos also have a HEAD ref. Most of the time, a symbolic ref to the master branch | 12:30 |
|
broonie
| vuf: Oh, bah - it doesn't pack the old objects. Thankls. | 12:30 |
|
doener_
| Weiss: that, for example, determines which local branch "git clone" creates for you | 12:30 |
|
jast
| j_manu, main thing that makes it only "kind of" is that you can't really number revisions in git that way. when merges happen, a commit can be based on more than one 'parent' commit, unlike in svn where commit N+1 is always based only on commit N (and its history) | 12:30 |
| → LiamH joined | 12:31 |
|
jast
| also, of course there's the fact that these revision numbers could differ between various copies of the repository since we're all decentralized | 12:31 |
|
doener_
| Weiss: and "origin/HEAD" is also a symbolic ref, most of the time pointing to origin/master | 12:32 |
| → Lemurnomicon joined | 12:33 |
|
j_manu
| what you are trying to say is that there are different paths to HEAD for each repo and on each repo HEAD~1 and HEAD~1 may result in different object database ? | 12:33 |
|
Weiss
| doener_: ok... so, more for consistency than anything you'd ever want to use explicitly? | 12:33 |
|
doener_
| j_manu: and when you compare svn to git, in git terms, you don't even have branches in svn. Just one huge versioned directory. | 12:33 |
|
| Weiss: you could eg. have a master and a maint branch, and decide that clones should start with a maint branch instead of a master branch (for whatever reason) | 12:34 |
|
| Weiss: and it makes a plain "git log" possible in a bare repo | 12:34 |
|
pl0pix
| why do I have to clean up (git reset --hard d | 12:34 |
|
doener_
| Weiss: and yeah, it helps consistency and bare<->non-bare conversions ;-) | 12:34 |
|
pl0pix
| or git clean -f after a git checkout | 12:34 |
|
jast
| pl0pix, that's not true in the general case | 12:35 |
|
doener_
| pl0pix: because you didn't commit your changes | 12:35 |
|
| (and maybe lost some work now) | 12:35 |
|
j_manu
| thanks a lot for the help :). I will now go try out all that i have learned. | 12:36 |
| ← samjam left | 12:36 |
|
Weiss
| doener_: ok, thanks | 12:36 |
|
pl0pix
| no, I didn't lost files. I try to clone multiple branches and had a directory in a branch where it schouldn't exist | 12:40 |
| ← alenoosh left | 12:40 |
| ← j_manu left | 12:41 |
| ← capisce left | 12:42 |
| ← Sput left | 12:44 |
| → Sput joined | 12:45 |
| ← Sput left | 12:46 |
| → cmarcelo joined | 12:48 |
| → ysis joined | 12:48 |
| → madewokherd joined | 12:49 |
| ← vbabiy left | 12:51 |
| → vbabiy joined | 12:54 |
|
j_engelh
| Heh, there was a "stupid" merge strategy in git? | 12:55 |
| → Sput joined | 12:55 |
| ← gretch left | 12:56 |
|
vuf
| so if reflogs don't expire, will the loose objects stay around forever by default? | 12:56 |
|
j_engelh
| you can pack them together. | 12:57 |
| ← ebel left | 13:01 |
|
vuf
| how? | 13:01 |
| ← ph^ left | 13:02 |
| jmesnil_ → jmesnil_lunch | 13:03 |
| → hansengel joined | 13:04 |
|
hansengel
| Hi, I'm having some problems with Git.tmbundle.. is this a good place to ask? | 13:04 |
| ← brendon_work left | 13:05 |
| → kmr83 joined | 13:05 |
|
cehteh
| there is prolly no better ... | 13:05 |
|
kmr83
| hi guys | 13:05 |
|
| i've got a newbie question about git | 13:05 |
| → brendon_work joined | 13:06 |
|
hansengel
| cehteh: Okay, well whenever I open any of the dialogs this error is shown at the top: | 13:06 |
|
cehteh
| i should add "dont ask me" :) at least not perl related things | 13:06 |
| → kukks joined | 13:06 |
|
cehteh
| but someone else here might help | 13:06 |
|
hansengel
| sh: line 1: git: command not found | 13:07 |
|
| cehteh: lol, k | 13:07 |
|
pasky
| <HEAD:git-gui/lib/choose_rev.tcl> | 13:07 |
|
kmr83
| can i checkout the source from a git repo, specifically tuxonice.git, and compile it to get a working 2.6.27 kernel? | 13:07 |
|
Gitbot
| [git choose_rev.tcl]: http://tinyurl.com/6f8ctg [blob] | 13:07 |
| → swhitt joined | 13:07 |
|
cehteh
| hansengel: well .. check $PATH .. and if git is isntalled at all | 13:07 |
| → koke joined | 13:07 |
|
hansengel
| cehteh: it is, and I can use it from the command line fine | 13:07 |
|
| that's why I'm confused | 13:07 |
|
Weiss
| kmr83: that's the idea :) - though exactly what you get when you checkout the source depends entirely on the project.. | 13:08 |
|
Lemurnomicon
| the path TextMate sees may not match what your shell sees. | 13:08 |
|
cehteh
| does the stuff sanitize the PATH? .. maybe | 13:08 |
|
hansengel
| yeah, possibly | 13:08 |
|
kmr83
| thanks Weiss, its my first tie using git :) | 13:08 |
|
Lemurnomicon
| not that it sanitizes, but the OS X loginwindow may have a different notion of PATH than what your shell configs set and so any GUI apps get its path not your shell's | 13:09 |
|
doener_
| no need to wear a tie, it's all casual here | 13:09 |
|
| ;-) | 13:09 |
|
Lemurnomicon
| I think the bundle looks for a TM_GIT environment variable, so maybe set that via the TM pref pane | 13:09 |
|
hansengel
| Lemurnomicon: okay, I'll try | 13:09 |
| ← bartocc_ left | 13:09 |
|
pasky
| anyone with tk skills here? | 13:09 |
|
hansengel
| and I set this to /usr/local/bin? | 13:09 |
|
| or /usr/local/bin/git? | 13:09 |
|
Lemurnomicon
| to the path to git, so if your git's /usr/local/bin/git yeah | 13:09 |
|
kmr83
| this probly is not the place to ask this, but has anyone tried compiling the latest 2.6.27-rc3? | 13:09 |
|
| Weiss used to do Tcl/tk, but has all but forgotten it.. | 13:09 |
|
pasky
| http://repo.or.cz/w/git.git?a=blob;f=git-gui/lib/choose_rev.tcl#l6 | 13:10 |
|
| I just can't figure out (i) what the hell is the binary data (ii) how to decode it (iii) how to encode it | 13:10 |
|
| I mean, it's obviously something in base64 | 13:10 |
|
j_engelh
| kmr83: yes, and? | 13:10 |
|
kmr83
| well i'm compiling it right now, its my first time compiling from a git source, not sure if it will work...has anyone compiled the latesst kernel source from git? | 13:11 |
|
pasky
| but according to tutorials I assumed it's a GIF but it doesn't really look so; maybe it's raw data, but then how to display it out of tk and where did it come from? | 13:11 |
|
| and what pallete etc does it use? | 13:11 |
|
doener_
| pasky: looks like a gif | 13:12 |
|
j_engelh
| kmr83: less metaquestions! | 13:12 |
|
doener_
| pasky: ... in base64 | 13:12 |
|
hansengel
| Lemurnomicon: woot! that worked | 13:12 |
|
| thanks. | 13:12 |
|
kmr83
| well, sorry | 13:12 |
|
Lemurnomicon
| huzzah, I R USEFUL TODAY | 13:12 |
| ← soultan left | 13:12 |
| → frq1_dave joined | 13:12 |
|
hansengel
| :P | 13:12 |
|
pasky
| doener_: well, for one, it's quite hard to decode it - openssl thinks it's invalid base64, uudecode complains about "short input" | 13:12 |
|
| and the decoded form looks _nothing_ like GIF | 13:13 |
| ← ben_h left | 13:13 |
|
j_engelh
| burn the gifs | 13:13 |
|
kmr83
| i guess it should work....i hope it works | 13:13 |
|
Weiss
| pasky: did you run 'file' on the raw data? | 13:13 |
|
j_engelh
| why should not it? | 13:13 |
|
Weiss
| or maybe 'identify' | 13:13 |
| → soultan joined | 13:14 |
|
vuf
| pasky: it's a gif of a magnifying glass | 13:14 |
|
pasky
| weiss: of course | 13:14 |
|
Weiss
| ..and it just said 'data'? | 13:14 |
|
pasky
| vuf: how did you decode it? | 13:15 |
|
vuf
| pasky: base64-decode-region in Emacs | 13:15 |
|
pasky
| hum | 13:15 |
|
vuf
| there are Perl one-liners to do that as well :) | 13:16 |
|
pasky
| how do I trigger that command? | 13:16 |
|
| pasky doesn't know emacs commands :) | 13:16 |
|
Lemurnomicon
| Mark the region and then M-x base64-decode-region. ctrl-space at the beginning, move to the end with cursor keys or C-n, C-f, etc. | 13:17 |
|
resmo
| hmm what is the normal procedure for init a server / client repo, git init --bare on server, git init ... add . ... commit on client and push to server? | 13:17 |
|
vuf
| pasky: Ctrl-Space, Esc >, Esc x base64-decode-region | 13:17 |
|
pasky
| wow | 13:17 |
|
doener_
| pasky: base64 decodes it for me | 13:17 |
|
pasky
| that indeed worked | 13:18 |
| → JimmyB_ joined | 13:18 |
|
pasky
| now I'm really puzzled | 13:18 |
| → zachinglis joined | 13:18 |
|
pasky
| why doesn't uudecode or openssl base64 grok it? | 13:18 |
| → ph^ joined | 13:19 |
|
thiago
| echo '...' | openssl base64 -d | file - | 13:19 |
|
| /dev/stdin: writable, no read permission | 13:20 |
|
| how useful :-P | 13:20 |
| → MK_FG joined | 13:20 |
|
j_engelh
| uh | 13:21 |
|
| file -s - | 13:21 |
|
thiago
| openssl base64 -d doesn't decode long lines | 13:22 |
|
doener_
| same thing. The problem is that openssl doesn't generate any output | 13:22 |
|
thiago
| $ wc -c /tmp/foo.gif | 13:22 |
|
| 712 /tmp/foo.gif | 13:22 |
|
doener_
| (for the file "problem") | 13:22 |
|
thiago
| $ openssl base64 < /tmp/foo.gif | tr -d '\n' | openssl base64 -d | wc-c | 13:22 |
|
pasky
| aaaaaaaah | 13:22 |
|
thiago
| 0 | 13:22 |
|
pasky
| yeah | 13:22 |
|
j_engelh
| doener_: -out | 13:22 |
|
| no? | 13:22 |
|
pasky
| we all had the same idea at once :) | 13:22 |
|
| with short lines it works | 13:22 |
|
| damn openssl | 13:23 |
|
j_engelh
| well | 13:23 |
|
pasky
| so only thing left puzzling me is uudecode behaviour, but that tool is uberstrange anyway | 13:23 |
|
doener_
| j_engelh: -out what? The input is invalid, so there's no output | 13:23 |
|
j_engelh
| sigh | 13:23 |
|
doener_
| $ echo Li4uCg== | openssl base64 -d | file - | 13:23 |
|
| /dev/stdin: ASCII text | 13:23 |
|
| works just fine | 13:23 |
| → mw joined | 13:23 |
|
j_engelh
| what I do find strange is that openssl, interactively, requires two EOFs | 13:24 |
| → neoeinstein joined | 13:24 |
| ← hansengel left | 13:25 |
|
vuf
| pasky: I think MIME/PEM has a line length limit below 80 | 13:25 |
|
pasky
| is there some nice repository of free toolbar icons? | 13:25 |
|
jast
| try the gnome and kde artwork pages :) | 13:25 |
|
j_engelh
| /usr/share/icons/ | 13:25 |
| dwmw2_gone → dwmw2 | 13:26 |
| → Oompa joined | 13:26 |
| ← davi left | 13:26 |
|
pasky
| hmm, I'd like something more windows-style ;) | 13:27 |
|
resmo
| hmm made a git init --bare repo, when i try to fetch git says atal: Couldn't find remote ref HEAD | 13:27 |
|
pasky
| well, I'll keep looking | 13:27 |
|
j_engelh
| pasky: that would possibly not be free | 13:27 |
|
resmo
| what do i wrong | 13:27 |
|
pasky
| ... | 13:27 |
|
doener_
| resmo: you can't fetch from an empty repo | 13:27 |
|
| resmo: push something first | 13:27 |
|
vuf
| j_engelh: ^D flushes the line buffer if you have typed something (try with cat) | 13:27 |
|
j_engelh
| vuf: no i mean like openssl base64 -d <enter> Li4uCg== <enter> <^d> <^d> | 13:28 |
|
| or I need base64 -d <enter> Li4uCg== <^d> <^d> <^d> | 13:28 |
|
| 3 even... | 13:28 |
| → mithro_ joined | 13:28 |
|
resmo
| doener_: but when i try to push it says No refs in common and none specified; doing nothing. | 13:29 |
|
| Perhaps you should specify a branch such as 'master' | 13:29 |
|
vuf
| j_engelh: oh, okay ... I didn't test :) | 13:29 |
| → davi joined | 13:30 |
|
resmo
| doener_: damn sorry wrong permissions... | 13:31 |
| ← fafhrd left | 13:31 |
|
joelmoss
| quit | 13:31 |
| ← joelmoss left | 13:31 |
| → Plouj joined | 13:33 |
|
Plouj
| hi | 13:33 |
|
| how do I push a local branch to a remote repositry's master branch? | 13:33 |
| → irotas joined | 13:34 |
| → bdiego joined | 13:34 |
| ← mithro left | 13:34 |
|
GarethAdams_
| Plouj: you don't | 13:34 |
|
thiago
| git push remote localbranch:master | 13:34 |
|
| the server may reject that | 13:34 |
|
Plouj
| yeah, howcome it rejects it? | 13:35 |
|
| I get: | 13:35 |
|
cehteh
| :) | 13:35 |
|
Plouj
| error: src refspec localbranch does not match any. | 13:35 |
|
Weiss
| kmr83: i guess you know a little about compiling kernels from source to begin with? | 13:35 |
|
Plouj
| fatal: The remote end hung up unexpectedly | 13:35 |
| ← davi left | 13:35 |
|
Plouj
| GarethAdams_: why not? | 13:35 |
| ← kmr83 left | 13:36 |
|
Plouj
| what else is the simplest way to update a remote repository from a local branch? | 13:36 |
|
bmalee
| Merge it to your local master, then push that? | 13:36 |
| mithro_ → mithro | 13:36 |
|
Plouj
| bmalee: but I don't want to mix my local master with the changes in a local branch | 13:36 |
|
| there are some things in the localbranch that don't belong in the maste branch | 13:36 |
|
GarethAdams_
| Plouj: http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e73 | 13:37 |
| → bryanl joined | 13:37 |
|
Plouj
| that doesn't really deal with my issue | 13:38 |
|
| basically I just don't want to rsync my workdir to another machine | 13:40 |
|
| because I don't know what that might do to the internal git files on the remote machine | 13:40 |
| → bongiojp joined | 13:41 |
| → foca_ joined | 13:44 |
| ← soultan left | 13:44 |
| ← ereslibre left | 13:45 |
| ← irotas left | 13:46 |
| ← kanru left | 13:46 |
| → irotas joined | 13:47 |
| jmesnil_lunch → jmesnil | 13:49 |
| → soultan joined | 13:49 |
| → paltman joined | 13:50 |
| → lu_zero_ joined | 13:55 |
|
Plouj
| ok | 13:56 |
|
| I'll try pulling from the remote computer my localbranch | 13:56 |
| ← ferdy left | 13:57 |
| ← soultan left | 13:57 |
| ← pygi left | 13:58 |
| → qrush joined | 13:59 |
| → soultan joined | 14:00 |
| → andyjgill joined | 14:00 |
| → kumbayo joined | 14:01 |
|
andyjgill
| Can someone explain the difference between HEAD and master? | 14:01 |
| → schacon joined | 14:02 |
|
shd
| andyjgill: HEAD is the latest commit of the current branch | 14:02 |
|
| andyjgill: and master is the default branch created by git | 14:02 |
| → rdavila joined | 14:02 |
|
shd
| andyjgill: usually, people have their latest stuff in master | 14:02 |
|
| andyjgill: and master is usually the most important branch, though not necessarily | 14:02 |
|
andyjgill
| So a commit automatically moves HEAD? | 14:02 |
|
shd
| yes | 14:02 |
|
andyjgill
| Ahh. And master is just a name, but one created at init time. | 14:03 |
|
shd
| and git reset can be used to adjust HEAD arbitrarily | 14:03 |
|
Plouj
| much better! | 14:03 |
|
shd
| for example, you can destroy 3 latest commits from history with git reset --hard HEAD~3 | 14:03 |
|
doener_
| when you checkout a branch, HEAD becomes a symbolic ref to that branch | 14:03 |
|
andyjgill
| So is master a branch? (Thing of branch type) | 14:04 |
|
shd
| andyjgill: yes | 14:04 |
|
jast
| which means that HEAD normally just says: hey, if you want to know what's checked out right now, look at (e.g.) master | 14:04 |
|
doener_
| so when you use HEAD, that's derefenced to the branch (and then eventually further to the commit that the branch points to and then maybe even further) | 14:04 |
|
shd
| andyjgill: you could use any other name, git doesn't really care about the name | 14:04 |
|
andyjgill
| This helps. Thanks. | 14:05 |
|
| Has anyone got a good link to a "git for darcs users" tutorial? | 14:05 |
|
doener_
| eg. "git commit" looks at HEAD, and if it's a symbolic ref, it dereferences that to get the branch it needs to update | 14:05 |
|
| and if you're on a detached HEAD, HEAD is not a symbolic ref, but just references a commit directly | 14:05 |
|
| and then, "git commit" would update HEAD itself | 14:06 |
| ← advany_ left | 14:06 |
|
andyjgill
| Ahh. Thats smart. | 14:06 |
|
doener_
| so "HEAD is the latest commit of the current branch" is not quite correct. Most commands will derefence HEAD to get to a commit, but HEAD itself is just a ref | 14:07 |
|
jast
| otoh, HEAD is always what's currently checked out (unless you do evil things) | 14:07 |
| → kanru joined | 14:08 |
|
doener_
| what evil things would that be? HEAD define "what is checked out" | 14:08 |
|
| s/define/defines/ | 14:08 |
| → spearce joined | 14:08 |
|
jast
| an update-ref on HEAD, for example :) | 14:08 |
|
| yeah, well, okay | 14:09 |
| → charon joined | 14:09 |
| ← ysis left | 14:09 |
|
jast
| i see what you mean | 14:09 |
|
doener_
| that like a checkout + read-tree + whatever. It still changes HEAD, and that's the only notion of "what's checked out" that git has | 14:09 |
|
vuf
| can diff be made whitespace aware? e.g. to display a pretty patch in case I indent a block due to it getting into a conditional? | 14:10 |
| ← Sho_ left | 14:11 |
|
jast
| what would you have it do? diff can only describe completed lines getting removed and added | 14:11 |
|
doener_
| vuf: you mean you want diff to ignore whitespace changes? Or even as far as reindenting on the fly? | 14:11 |
|
| the former can be done with -b/-w, the latter would produce broken patches | 14:11 |
| ← dragonball_ left | 14:11 |
|
doener_
| jast: there's --color-words, but yeah, that probably won't help here | 14:12 |
| → MentalMaelstrom joined | 14:13 |
| → krh joined | 14:13 |
|
vuf
| doener_: -w is probably what I want, thanks ... it looks nicer in a side-by-side comparison, but there is only so much you can do in a unified diff | 14:13 |
| ← Sput left | 14:14 |
| ← Plouj left | 14:15 |
| → Sput joined | 14:15 |
| ← schacon left | 14:16 |
| ← Sput left | 14:16 |
| → Sput joined | 14:16 |
|
resmo
| hmm no matter what i try i can't push to a git server (git init --bare), it says "No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'master'." | 14:19 |
|
cbreak
| how did you push it? | 14:20 |
|
resmo
| ssh | 14:20 |
|
cbreak
| git push remoteserver? | 14:20 |
|
shd
| resmo: git push -f on the first time | 14:20 |
|
resmo
| git push ssh://user@example.com/path/to/git-repo.git | 14:21 |
|
shd
| resmo: when you create a repo, it doesn't have commits, and therefore the first push alarms about that | 14:21 |
|
ToxicFrog
| You need to tell it what branches to push | 14:21 |
|
shd
| resmo: push by default allows only straight continuation of history, and but that can be overriden with -f | 14:21 |
|
ToxicFrog
| Normally it pushes only branches you have in common | 14:21 |
|
cbreak
| you can do a git remote add to make it easier in the future | 14:21 |
|
ToxicFrog
| Since the remote is bare, you have no branches in common with it | 14:21 |
|
| so try something like "git push url master" to push the master branch to it explicitly. | 14:22 |
|
resmo
| cool thanks guys | 14:22 |
|
ToxicFrog
| You can also use git-remote to make this more concise: git remote add name url; git push name branch | 14:23 |
|
cbreak
| weird, "git remote -h" does only work in a repository | 14:23 |
|
shd
| resmo: ah, correction, -f was not required here | 14:23 |
|
ToxicFrog
| Yeah, -f isn't needed for pushing new branches. | 14:23 |
|
shd
| my bad.. | 14:23 |
| ← BrianTheCoder left | 14:23 |
|
ToxicFrog
| It just won't push new branches by default, so that, for example, if you have a dozen topic branches these don't end up getting pushed without your request. | 14:24 |
|
resmo
| this shoud really be written in the quickstart docu :) | 14:24 |
| ← lu_zero_ left | 14:25 |
| → smartcat99s joined | 14:26 |
| → davidfetter joined | 14:27 |
| → sergiodj joined | 14:28 |
| ← bdiego left | 14:29 |
| ← camcorder left | 14:29 |
| → draco_ joined | 14:29 |
| metze → metze_weg | 14:29 |
| metze_weg → metze_away | 14:32 |
| → ferdy joined | 14:32 |
| → Sho_ joined | 14:32 |
| foca_ → foca | 14:33 |
| → fafhrd joined | 14:38 |
| xdeavid-away → deavid | 14:38 |
| → ondrej joined | 14:39 |
|
ondrej
| hi, is there a way to put "--color-words" into a .gitconfig file? I know how to put regular colors by default, but I haven't figured out this. | 14:41 |
|
lea_w
| Am I correct that grafts usually only occur for shallow clones? | 14:42 |
| → vbabiy_ joined | 14:42 |
| → botanicus joined | 14:42 |
|
lea_w
| ondrej: Looking at 'man git-config', it doesn't look like it. The best idea I have is using an alias in your shell. | 14:42 |
|
Tv
| lea_w: that is one use for grafts, probably easiest to realize | 14:43 |
|
ondrej
| lea_w -- thanks, that's a good idea | 14:43 |
| → d0k joined | 14:43 |
|
lea_w
| Tv: Are there any other uses (apart from people creating grafts manually for obscure purposes)? | 14:43 |
|
ondrej
| I am looking at the git commits if they implemented it | 14:44 |
| → acmoore joined | 14:44 |
|
Mikachu
| re the ohhhh jeeee message i got from git-svn, there's an updated version of gnutls now that fixes it | 14:46 |
|
Tv
| lea_w: you can fake history in general, with grafts | 14:48 |
|
| lea_w: chopping history off is just one special case | 14:48 |
|
acmoore
| is there some technical reason why there's no hooks available for git-send-email? Or, is that just something that hasn't been written (yet) because it's not commonly requested? | 14:48 |
|
lea_w
| Tv: Yes, but how exactly? Where's TFM to read? | 14:48 |
|
Tv
| lea_w: e.g. you could *attach* a bigger history to a newer, partial, history | 14:49 |
|
lea_w
| Ah. Hm, I see. | 14:49 |
| → mehemiah joined | 14:50 |
|
Tv
| lea_w: grafts are kinda messy internals, with lots of traps.. | 14:50 |
|
Mikachu
| i never found any file that documented the format of the grafts file | 14:50 |
|
Tv
| lea_w: but basically apart from understanding the object graph, there's not much to read -- just enlightenment | 14:51 |
|
| Mikachu: how about Documentation/gitrepository-layout.txt | 14:51 |
|
lea_w
| Tv: So what do they do though? Is it just something like "internally substitute new_SHA1 for old_SHA1"? | 14:51 |
|
Mikachu
| yep, never found that ;) | 14:51 |
|
Tv
| lea_w: how about reading ;) | 14:51 |
|
| ToxicFrog eyes gitk with suspicious | 14:51 |
|
lea_w
| Tv: That's my question. Reading what? | 14:52 |
|
ToxicFrog
| ME: check out branch "releases" | 14:52 |
|
lea_w
| ah... | 14:52 |
|
Tv
| lea_w: i just pasted a filename | 14:52 |
|
ToxicFrog
| GITK: ERROR! checked out branch "releases" | 14:52 |
|
lea_w
| that file | 14:52 |
|
| Thanks everyone. :) | 14:52 |
|
Mikachu
| <HEAD:Documentation/gitrepository-layout.txt> | 14:52 |
|
Tv
| lea_w: but in general, if you're not *dying* for need of grafts, stay the hell away | 14:52 |
|
Gitbot
| [git gitrepository-layout.txt]: http://tinyurl.com/5gt7p4 [blob] | 14:52 |
|
Tv
| lea_w: also, learn to grep.. took me 10 seconds to find that file | 14:52 |
| → tcoppi joined | 14:55 |
| ← vbabiy left | 14:56 |
| → Pistos joined | 14:56 |
|
Pistos
| Definition of WTH: | 14:56 |
|
| % git branch --no-m | 14:56 |
|
| error: Ambiguous option: no-m (could be --no-merged or --no-merged) | 14:56 |
| ← cmarcelo left | 14:57 |
|
cbreak
| that looks very ambiguous | 14:57 |
|
Pistos
| Yep. | 14:57 |
|
cbreak
| I can't even tell them appart | 14:57 |
|
Pistos
| lol | 14:58 |
|
Mikachu
| i think it thinks there's both the --no-merged option, and the --merged option with a --no- prefix, somehow | 14:58 |
| → morphir joined | 14:59 |
|
Pistos
| I just compiled from repo version of git, FWIW. | 14:59 |
| ← morphir left | 14:59 |
|
Mikachu
| builtin-branch does define the options with OPT_NONEG, but that seems to be ignored in at least one place in the option parser | 15:00 |
| ← vbabiy_ left | 15:03 |
| → vbabiy joined | 15:04 |
|
acmoore
| I'm interested in updating my bugtacker (bugzilla) when I submit patches. my workflow is that I use git-send-email to submit the patches to the group mailing list. Is there a hook for send-email or something I could use to tie in my script to post to bugzilla? | 15:06 |
|
segher
| just cc: bugzilla? | 15:07 |
| ← d0k left | 15:07 |
|
vmiklos
| http://tw.apinc.org/weblog/2007/01/16#using-git-with-bugzilla | 15:07 |
| ← Pistos left | 15:07 |
| → kazim59 joined | 15:07 |
|
vmiklos
| eh, it's 404 ;/ | 15:07 |
|
| that hosted a simple git-send-bugzilla script | 15:08 |
|
acmoore
| segher: that would be great. my bugzilla doesn't accept email, though. Perhaps I should try to get someone to fix that. | 15:08 |
|
kazim59
| What do I do to undo a commit? I don't want any signs that it ever happened. | 15:08 |
|
acmoore
| vmiklos: Oh. I'll see if I can get google cache or archive.org or something to find that for me. | 15:08 |
| ← MK_FG left | 15:08 |
|
vmiklos
| kazim59: is it the latest commit? | 15:09 |
|
kazim59
| vmiklos: yes it is | 15:09 |
| ← GyrosGeier left | 15:09 |
|
vmiklos
| git reset --hard HEAD^ | 15:09 |
|
kazim59
| vmiklos: oh thanks! | 15:09 |
|
cbreak
| did you push it? | 15:09 |
|
kazim59
| vmiklos: okay, and what if its not latest? | 15:09 |
|
cbreak
| git rebase -i | 15:10 |
|
kazim59
| cbreak: no... not yet. | 15:10 |
|
cbreak
| good :) if you pushed it, doing reset or rebase is not a good idea | 15:10 |
|
kazim59
| cbreak: I understand that :) | 15:10 |
| → jackdempsey joined | 15:11 |
| ← paltman left | 15:12 |
| → bugfux joined | 15:15 |
| ← langenberg left | 15:16 |
| → ezraburgh joined | 15:16 |
|
kazim59
| when I apply a patch my friend sends me, I get trailing whitespace errors. What can I do? | 15:16 |
|
aeruder
| kazim59: you sure they are errors and not just warnings? | 15:17 |
|
doener_
| normally, those are just warnings (unless you configured it to make errors out of them) | 15:18 |
|
aeruder
| if they are in fact errors, that means for whatever reason you probably made your hooks executable | 15:18 |
|
doener_
| if you want the whitespace noise to be fixed, use --whitesapce=fix | 15:18 |
|
| s/sap/spa/ | 15:18 |
| → brasko joined | 15:18 |
|
kazim59
| aeruder: it leaves a .dotest directory, and wants me to do something | 15:19 |
| → machrider joined | 15:19 |
|
aeruder
| kazim59: how are you applying the patch? | 15:20 |
|
machrider
| so, when you checkout a branch in git, it modifies whatever files in your working tree are different | 15:20 |
|
kazim59
| aeruder: git am < patchfile | 15:20 |
|
machrider
| has anyone ever modified git to instead make each branch a subdir? | 15:20 |
|
| so you can switch around without rebuilding the whole tree? | 15:20 |
| → rwaite joined | 15:21 |
|
doener_
| machrider: see git-new-workdir in contrib/ | 15:21 |
| → fafhrd_ joined | 15:21 |
|
aeruder
| kazim59: is the patch currently staged? (i.e. git status shows things ready to commit) ? | 15:21 |
|
machrider
| doener_: interesting... is it safe to use? | 15:22 |
|
brasko
| doener_: git-1.5.6.4/contrib doesn't have that file | 15:22 |
|
aeruder
| machrider: a lot of people use it, so it is kept up to date | 15:22 |
|
brasko
| doener_: is it in a newer version? | 15:22 |
|
machrider
| awesome | 15:22 |
|
aeruder
| brasko: it is actually contrib/workdir/git-new-workdir | 15:23 |
| ← gcw|secution left | 15:23 |
|
pasky
| <v1.5.6.4:contrib/workdir/git-new-workdir> | 15:23 |
|
Gitbot
| [git git-new-workdir]: http://tinyurl.com/5ormw8 [blob] | 15:23 |
|
pasky
| it's there | 15:23 |
| ← BBHoss left | 15:23 |
| ← draco_ left | 15:23 |
|
aeruder
| kazim59: if so, use git am --resolved | 15:23 |
|
| doener_ is just too lazy to be a find(1) replacement | 15:24 |
| ← mehemiah left | 15:24 |
| → NewMonarch_ joined | 15:26 |
|
NewMonarch_
| Is it bad to have use a hyphen in a branch name? | 15:26 |
|
cehteh
| no | 15:26 |
|
| starting with one might be inconvinient :) | 15:26 |
|
aeruder
| might be a bad idea to make the first letter a hyphen ;) | 15:26 |
| → Weasel[DK] joined | 15:27 |
| → alley_cat joined | 15:27 |
| ← f0rkit left | 15:27 |
| ← rmh3093 left | 15:27 |
|
NewMonarch_
| I've got a branch called intl-orders and I can't check it out. | 15:27 |
|
cehteh
| git branch '\`rm -rf\`' | 15:27 |
| → f0rkit joined | 15:27 |
| → bronson joined | 15:27 |
| → rmh3093 joined | 15:27 |
|
NewMonarch_
| it wasn't a local branch to begin with but I first pulled and now I'm trying to check it out | 15:27 |
| → netoman joined | 15:28 |
|
pasky
| and why do you think the dash is the culprit? | 15:28 |
| ← brasko left | 15:28 |
| ← fafhrd left | 15:28 |
|
NewMonarch_
| Cause I didn't have any other ideas. :D | 15:28 |
|
aeruder
| i'm still waiting for the clarification of "I can't check it out." | 15:29 |
|
NewMonarch_
| No, I've been using Git for months but haven't gotten into branching yet. | 15:29 |
|
| git checkout intl-orders => error: pathspec 'intl-orders' did not match any file(s) known to git. | 15:29 |
|
machrider
| git branch -a | 15:29 |
|
lea_w
| git am doesn't like being fed a MIME patch: "fatal: `pos + len' is too far after the end of the buffer" The patch is here: http://pastebin.ca/1178740 What can I do (apart from editing the patch)? | 15:29 |
|
NewMonarch_
| I did git checkout origin/intl-orders but that seemed to freak it out. My branch was "no branch" or something. | 15:30 |
|
pasky
| didn't you say the branch is not local? | 15:30 |
|
machrider
| you should create a local branch that tracks the remote one | 15:30 |
|
NewMonarch_
| pasky: yeah. Do I need to add the branch? | 15:30 |
|
machrider
| if you want to work on it | 15:30 |
|
NewMonarch_
| ok didn't realize that | 15:31 |
|
| I've only pushed branches until now. | 15:31 |
|
| How do I go about that? | 15:31 |
|
pasky
| git checkout -t -b intl-orders origin/intl-orders | 15:31 |
|
| I wonder if the -t is redundant now? | 15:31 |
|
jast
| has been for ages | 15:32 |
|
| tracking is the default for this type of command | 15:32 |
| → zawir joined | 15:33 |
|
jast
| in git 1.6.1 it will probably be even easier: git checkout -t origin/intl-orders | 15:33 |
|
NewMonarch_
| got it... thanks. Wish that were a little more intuitive. :D | 15:33 |
| → schacon joined | 15:33 |
|
kazim59
| aeruder: alright! | 15:35 |
| → ijcd joined | 15:35 |
|
kazim59
| How do I rename a branch? | 15:35 |
|
jast
| git branch -m. see the git-branch manpage. | 15:35 |
| → BBHoss joined | 15:36 |
|
doener_
| lea_w: hm, maybe message id [email@hidden.address] | 15:36 |
| ← foca left | 15:36 |
|
lea_w
| doener_: thanks! | 15:37 |
| → foca_ joined | 15:38 |
| ← keseldude left | 15:39 |
| ← ^matthieu^ left | 15:39 |
|
lea_w
| doener_: it doesn't actually apply on next for me. well, at least people are aware of the problem then | 15:39 |
|
doener_
| oh well, I only remembered having seen that, I'm a master using pansy | 15:41 |
|
lea_w
| doener_: hm, that patch is in next already | 15:41 |
|
| doener_: weird that it still doesn't work | 15:41 |
| foca_ → foca | 15:41 |
|
lea_w
| i'll post a note to the list i think | 15:41 |
|
doener_
| did you install the new version yet? Maybe some old dashed executable still in bindir? | 15:42 |
| → rompus joined | 15:42 |
| → ijcd_ joined | 15:42 |
|
doener_
| (just guessing, feel free to ignore me ;-)) | 15:43 |
| ← ciaran29d left | 15:43 |
| → jeffpc joined | 15:43 |
| → ciaran29d joined | 15:44 |
| → igorgue joined | 15:44 |
|
heptadeca
| I'm trying to educate my co-workers about git; we're using it for a small project on a team of five people. I'm under the impression that it's generally a good idea to create branches for local work, then merge them and push. | 15:45 |
| ← qrush left | 15:45 |
| → advany joined | 15:45 |
|
heptadeca
| One of my co-workers is of the opinion "the way I worked in CVS was to just do all my work on the thing I checked out, then push that up. git supports it, so why do I need to branch?" Should I try and convince him otherwise? | 15:45 |
|
doener_
| yep, either merge or rebase (-i), | 15:45 |
|
| definitely | 15:45 |
|
| branches help to keep independent work separated and gets you a way saner history | 15:46 |
|
| sounds like you should also convince him not to produce huge "here's my last month of work" commits | 15:46 |
|
heptadeca
| But this creates more work for him, which turns him off to git. (CVS-only knowledge) | 15:47 |
|
doener_
| well, it pays off the first time you need to make use of the history you created | 15:48 |
| ← igorgue left | 15:48 |
|
heptadeca
| How does branching make a saner history? Because it's linear, rather than merge-y? | 15:48 |
|
doener_
| if you use your scm as some write-only backup mechanism, of course the history seems to have little value. But when you actually _use_ your history, for example for debugging purposes, it's quite worthwhile to keep that clean, at least to some degree | 15:49 |
|
| no, branching on its own doesn't create a linear history. But if eg. your current task needs 20 commits and you get something else to do in between, you can just switch to a new branch, starting _before_ your new stuff | 15:50 |
|
| then you do that other thing and switch back to the other tasks | 15:50 |
| ← bentob0x left | 15:51 |
|
doener_
| so commits are kind of "grouped together" by topic | 15:51 |
|
heptadeca
| Hm. Part of this might be due to long-term training in CVS, because he claims not to work on more than one thing at a time. And when he does, it's because he wants to see both at the same time. | 15:52 |
|
doener_
| and not some A-B-C-C-A-A-B-B-D-D-A-A-A-B-C mix, where every other commit deals with a topic totally different from the previous one | 15:52 |
| ← NewMonarch_ left | 15:52 |
| ← advany left | 15:52 |
| ← sgrimm left | 15:52 |
|
heptadeca
| Man, that sounds awesome from my perspective, but it does sound tricky as to convince CVS-only developers as to the advantage of it, and to train them on how to do it. | 15:52 |
|
doener_
| well, then he only needs to create one branch | 15:52 |
| ← BBHoss left | 15:53 |
| → sgrimm joined | 15:53 |
|
heptadeca
| Ah, then his argument is "why create the branch? Why not just work in what I checked out?" Which is one I don't know the answer to. | 15:53 |
|
doener_
| if he's totally strict about the "one topic only" thing, the one branch he needs is already there, master | 15:54 |
| ← Sput left | 15:54 |
| ← EgS left | 15:54 |
| → EgS joined | 15:54 |
|
heptadeca
| OK, so his current method is correct, I'm just being anal. Second question: With this workflow of his, working in master, is it safe for him to rebase and thus clean up his history? | 15:55 |
| → Sput joined | 15:55 |
|
doener_
| as long as he doesn't rebase anything that he pushed or which has been pulled from him, sure | 15:55 |
|
heptadeca
| Additionally, (I don't expect to understand the answer) "why can't a rewritten history get shipped down when I pull?" | 15:56 |
|
doener_
| it does | 15:56 |
|
heptadeca
| But I thought if I rebased a branch and rewrote its history, I couldn't do it to a publicly-used branch. | 15:56 |
| ← Sput left | 15:57 |
| → Sput joined | 15:57 |
|
doener_
| "rewritten" means "create a new series of commits, that probably do similar stuff (or even the same)" | 15:57 |
|
| but still, they're new commits | 15:57 |
|
| but those that already pulled the old commits will still have those old commits | 15:57 |
|
| they don't get magically removed | 15:58 |
|
heptadeca
| So, why would that be a problem that other people have old commits? | 15:58 |
|
doener_
| they're basically the same as any other local commit | 15:58 |
| ← ijcd left | 15:58 |
|
doener_
| pull is fetch + merge. | 15:58 |
|
heptadeca
| Wouldn't their history be updated to point at the new ones? | 15:58 |
|
| And the old commits just become things to be garbage-collected? | 15:58 |
|
doener_
| so it first fetches the new history, and then merges that with the old one | 15:58 |
|
jast
| not by default because the new ones no longer have common history with the old ones | 15:59 |
|
doener_
| so the created merge commit has the old history as one parent, and the new history as the other | 15:59 |
| ← rajasaurus left | 15:59 |
| → ereslibre joined | 15:59 |
|
jast
| so fast-forward is out at any rate | 15:59 |
| → bts- joined | 15:59 |
|
doener_
| heptadeca: the history is "replaced" for the remote tracking branch (eg. origin/master) | 15:59 |
|
jast
| what happens is that it tries to merge the old commits with the new ones and that'll get you heaps of conflicts because both do pretty much the same | 16:00 |
| ← jmesnil left | 16:00 |
|
doener_
| heptadeca: but your local branch (eg. master) still has it | 16:00 |
|
jast
| if fetch doesn't complain and abort first | 16:00 |
|
doener_
| heptadeca: it's pretty much the same as creating two branches, doing mostly the same thing twice (once on each branch) and then merging the two | 16:01 |
|
kazim59
| How do I rename a branch name? | 16:01 |
|
doener_
| 17:35:28 <kazim59> How do I rename a branch? | 16:01 |
|
| 17:35:49 <jast> git branch -m. see the git-branch manpage. | 16:01 |
|
heptadeca
| OK, now I'm starting to understand. Thanks, doener_ & jast! | 16:03 |
|
doener_
| jast: somewhat recent versions of git place a + in the fetch line by default (though it was broken for some versions) | 16:03 |
|
jast
| that's a bit evil, i think | 16:03 |
|
doener_
| jast: and "git pull remote branch" uses FETCH_HEAD anyway, so that wouldn't complain either | 16:03 |
|
jast
| yeah, but wouldn't the fetch part complain (when there's no +) if no fast-forward update is possible? | 16:04 |
| → bobesponja joined | 16:04 |
|
doener_
| only for "git pull", not for "git pull remote branch" | 16:04 |
|
| FETCH_HEAD is a temporary fetch-only ref | 16:04 |
|
| ie. that doesn't affect the remote tracking branches at all | 16:05 |
| ← f0rkit left | 16:05 |
|
jast
| hmm, how come i didn't know that :( | 16:06 |
| → Eludias joined | 16:06 |
| ← sverrej left | 16:07 |
| ← BCarlyon|Laptop left | 16:07 |
| → bdiego joined | 16:10 |
| → lu_zero_ joined | 16:18 |
| → CIA-2 joined | 16:20 |
| ← Lash| left | 16:21 |
| ← Whtiger left | 16:22 |
| ← diask left | 16:22 |
| → NewMonarch joined | 16:23 |
| → Whtiger joined | 16:24 |
| ← MentalMaelstrom left | 16:25 |
| ← reel_ left | 16:25 |
| → peeja_ joined | 16:25 |
|
peeja_
| is it possible to git-reset to the index, blowing away unstaged changes? | 16:26 |
|
doener_
| git checkout -- . | 16:27 |
| ← priidu left | 16:28 |
| ← sgrimm left | 16:28 |
| → sgrimm joined | 16:28 |
|
peeja_
| doener_: hmm, that left my local changes intact | 16:28 |
| ← kazim59 left | 16:29 |
|
doener_
| changes to tracked file, or new files? | 16:29 |
|
| tracked files should be reverted to their state in the index | 16:30 |
|
peeja_
| tracked files | 16:30 |
|
doener_
| or did you delete them from the index? | 16:30 |
|
peeja_
| it gave me "M <filename>" for each file | 16:30 |
|
| no, they're just files with unstaged changes | 16:30 |
|
Mikachu
| peeja_: are you sure you ran git checkout -- . and not git checkout -- ? | 16:31 |
|
peeja_
| oh | 16:31 |
|
| heh | 16:31 |
|
Mikachu
| where the . is part of the command, but the ? isn't ;) | 16:31 |
|
peeja_
| thanks :) | 16:31 |
|
| I read that as the end of the sentence | 16:31 |
|
| yeah, that works. many thanks :) | 16:31 |
|
doener_
| thanks Mikachu! I would have asked a gazillion of other things, but not have thought of that :-) | 16:31 |
|
Mikachu
| hehe, it already happened to me once, and i asked those gazillion other questions that time :) | 16:32 |
| → jones_ joined | 16:33 |
| → igorgue joined | 16:38 |
| ← rdavila left | 16:41 |
| → krawek joined | 16:43 |
| ← bdiego left | 16:43 |
| ← Yuuhi left | 16:44 |
| → Yuuhi joined | 16:44 |
| → bdiego joined | 16:46 |
| → perezd88 joined | 16:46 |
| ← Yuuhi left | 16:47 |
| → hurikhan|Work joined | 16:47 |
| → langenberg joined | 16:48 |
| ← redondos left | 16:48 |
| → thannoy joined | 16:49 |
|
hurikhan|Work
| hey there... I've just set up gitosis which worked great. i added new repositories to the config, pushed it and the config was updated on the server as expected. nowi wanted to push my still local-only repos to the remote but git just tells me "No refs in common and none specified; doing nothing." - however it created an empty repo on the remote end... | 16:49 |
|
Mikachu
| hurikhan|Work: --all | 16:50 |
| ← jones- left | 16:50 |
|
hurikhan|Work
| Mikachu, still the same error | 16:50 |
|
| replacing --all by "master" yields another error: "src refspec master does not match any." so it doesn't help either | 16:51 |
| ← bryanl left | 16:51 |
|
hurikhan|Work
| can i rely on gitosis inititating an empty repo on itself correctly? | 16:51 |
|
rwaite
| no more git-* woo. | 16:53 |
|
hurikhan|Work
| is it ok to use subdirs like so: "writable = customer/project1 customer/project2" in gitosis.conf? | 16:54 |
|
doener_
| are you trying to push from an empty repo? | 16:57 |
| → ciaran joined | 16:59 |
| → WorkingGeier joined | 17:01 |
|
hurikhan|Work
| doener_, i suppose it was empty because on first try to push it was created by gitosis | 17:03 |
|
| oh wait, doener_, not _from_ an empty repo | 17:04 |
|
| my local repo already contains data | 17:04 |
| → _john joined | 17:04 |
| ← _john left | 17:04 |
|
doener_
| and there's a branch called master in that repo? | 17:05 |
|
hurikhan|Work
| "git branch -a" yields nothing | 17:06 |
|
| should i create a master branch? | 17:06 |
|
doener_
| well, then the repo is empty (I'm still talking about the repo _from_ which you push) | 17:06 |
| ← bugfux left | 17:07 |
| → joydivider joined | 17:07 |
| ← langenberg left | 17:07 |
|
hurikhan|Work
| doener_, oh yes you are right... not only i confused to repositories - i also forgot to commit files to the other :-( | 17:08 |
| ← NewMonarch left | 17:08 |
|
hurikhan|Work
| thanx for the advice, pushing from the correct repo worked | 17:08 |
| → qrush joined | 17:09 |
| → Lash| joined | 17:19 |
| → bcarlyon|laptop joined | 17:20 |
| ← koke left | 17:22 |
| → pygi joined | 17:24 |
| ← eikonos left | 17:26 |
| → queso joined | 17:27 |
| ← bobesponja left | 17:27 |
| → bobesponja joined | 17:28 |
| ← eddyp_work left | 17:28 |
| peeja_ → peeja | 17:31 |
| → ciaran_ joined | 17:31 |
| ← EgS left | 17:31 |
| ← Sput left | 17:31 |
| → EgS joined | 17:31 |
| → Sput joined | 17:32 |
| → brendon_work_ joined | 17:36 |
| ← brendon_work left | 17:36 |
| → eikonos joined | 17:37 |
| ← foca left | 17:41 |
| → foca_ joined | 17:42 |
| → langenberg joined | 17:42 |
| ← Whtiger left | 17:43 |
| → gmaxwell joined | 17:43 |
| → lanaer joined | 17:44 |
| → _Vi joined | 17:45 |
| → brendon_work joined | 17:46 |
| ← brendon_work_ left | 17:46 |
| ← ondrej left | 17:47 |
| → flaguy joined | 17:47 |
| mw → mw|lunch | 17:48 |
|
gmaxwell
| Has anyone produced a date-proofing service for GIT? The idea is that you send them the hash of a commit, and they respond back with a signed git tag containing a timestamp for that commit. The application would be providing independent proof that a particular version existed on or before a specific point in time. | 17:48 |
| ← greedo left | 17:48 |
|
Tv
| gmaxwell: you can use a generic timestamping service | 17:49 |
| → greedo joined | 17:49 |
| ← lanaer left | 17:49 |
|
gmaxwell
| Tv, sure, For workflow reasons it would be nice if it integrated directly into git. | 17:49 |
| ← sbahra left | 17:50 |
| → CodeOfficer joined | 17:51 |
|
_Vi
| How to tell to git-merge to always resolve conflicting places to one fixed side? (E.g. instead of ' <<< aa === bb >>>' just write ' aa ' and report that there's no conflicts? | 17:52 |
| ← ciaran left | 17:52 |
| foca_ → foca | 17:52 |
| ← bcarlyon|laptop left | 17:53 |
| ← Aikawa left | 17:54 |
| → bcarlyon|laptop joined | 17:54 |
| → robinr joined | 17:54 |
| → Aikawa joined | 17:55 |
| ← langenberg left | 17:56 |
| → Whtiger joined | 18:00 |
|
drizzd
| _Vi: git merge -s ours | 18:00 |
|
doener_
| that goes for _all_ files though, not just conflicting ones | 18:01 |
|
_Vi
| I've just read what '-s ours' do mean, it tell that it changes no files at all, just records that is is formally merged. | 18:01 |
| ← warthog9 left | 18:01 |
|
com4
| The ip address of my svn repository changed. I updated .git/config and .git/svn/metadata but I get the error "Unable to determine upstream SVN information from working tree history" when i try to rebase. How do I fix this? | 18:02 |
|
drizzd
| ok, that I don't know | 18:02 |
|
Mikachu
| wasn't some option added recently that might help with that? | 18:02 |
|
| dunno what it actually was though | 18:02 |
| → foca_ joined | 18:03 |
|
_Vi
| Something like 'if(no_conflict(chunk){ auto_merge(base,chunk); }else{ /* Just ignore it */ }'. | 18:03 |
|
doener_
| com4: try setting rewriteRoot as well (to the old url) | 18:04 |
|
| com4: if you're lucky, that might do | 18:04 |
|
com4
| doener_: where? | 18:04 |
|
doener_
| in the config, see git-svn(1) | 18:04 |
|
drizzd
| maybe it's possible to extract the partly auto-merged version from one of the stages | 18:04 |
|
| have you tried looking at git ls-files -u? | 18:05 |
| ← brendon_work left | 18:05 |
|
com4
| doener_: nope :( | 18:06 |
|
parasti
| com4: or maybe use git filter-branch to rewrite the git-svn-id lines | 18:06 |
|
doener_
| com4: if it is an option for you, do a new clone | 18:06 |
|
| com4: if you have not yet dcommitted commits, you can transfer them to the new clone | 18:07 |
| → snitko joined | 18:07 |
|
| RandalSchwartz averts his eyes at SVN-related messes | 18:08 |
|
RandalSchwartz
| _Vi - "merge one direction if a conflict" is almost always a sign that you're using version control to do something else's work | 18:08 |
|
| why wouldn't you want to decide which of two independent edits are more correct? | 18:09 |
|
| especially if that means that only half of a correlated edit is accepted, and the other half not. that's broken. | 18:09 |
|
_Vi
| RandalSchwartz, There's a lot of git-unfriendly and not-quite-necessary auto-generated data bundled with file which data should be tracked. /* Probably some other way will solve this problem better */ | 18:10 |
|
drizzd
| what if you limit it to rejecting only conflicting commits, that's like automatic cherry picking | 18:10 |
|
RandalSchwartz
| Yeah - stop version-controlling generated stuff | 18:10 |
|
_Vi
| (The file is OpenOffice .fodt document) | 18:10 |
| → polpak joined | 18:11 |
|
RandalSchwartz
| git is for sources, not products | 18:11 |
|
| drizzd - same problem | 18:11 |
|
_Vi
| Git works for html files. Is html file a source of product? | 18:11 |
|
RandalSchwartz
| suppose file fred had a conflict on A and B, but wilma accepted B and betty accepted A. | 18:11 |
|
| if you bias fred towards A, then the wilma edit is wrong | 18:12 |
|
| if you bias fred towards B, then the betty edit is wrong | 18:12 |
| → tetraedr joined | 18:12 |
|
RandalSchwartz
| you really need to figure out why the conflict is there, and resolve everythign globally in step | 18:12 |
|
tetraedr
| hi | 18:12 |
|
_Vi
| OK, probably if I need to git OOo documents I should write a little script that purifies them. | 18:12 |
|
tetraedr
| is there any manual or sort of comprehensive guide on git? | 18:12 |
|
RandalSchwartz
| tetraedr - besides all the docs that come with it? | 18:13 |
|
tetraedr
| RandalSchwartz: sort of | 18:13 |
|
| :) | 18:13 |
| ← Weasel[DK] left | 18:13 |
|
tetraedr
| just I like to read books | 18:13 |
|
drizzd
| tetraedr: http://git.or.cz/#documentation | 18:13 |
|
tetraedr
| and stick around them | 18:13 |
|
RandalSchwartz
| not getting it. maybe I'm dense | 18:13 |
|
| what are you missing? | 18:14 |
|
tetraedr
| RandalSchwartz: I just don | 18:14 |
|
drizzd
| that comes with git, but it's online ;-) | 18:14 |
|
tetraedr
| 't like to run around whole google to look for something | 18:14 |
|
RandalSchwartz
| yeah - stop googling | 18:14 |
|
| read the stuff that comes with git | 18:14 |
|
| if you still want more, look at the wiki | 18:14 |
| ← foca left | 18:14 |
|
tetraedr
| git - the stupid content tracker - goot start :) | 18:14 |
| → langenberg joined | 18:15 |
|
_Vi
| Where I should read about how I should organise my commits and when I should branch/merge, what comments I should write for them, patterns/anti-patterns of using RCSes, etc.? | 18:15 |
| ← ciaran_ left | 18:15 |
| → Weasel[DK] joined | 18:16 |
| → lacky33 joined | 18:16 |
| → aquabu joined | 18:16 |
| ← Whtiger left | 18:16 |
|
drizzd
| tetraedr: you probably don't want to read the manpage, but the user manual | 18:16 |
|
lacky33
| Anyone here able to lend a hand getting gitosis working? | 18:16 |
| → Whtiger joined | 18:17 |
| ← BabelO left | 18:17 |
| → advany joined | 18:17 |
|
tetraedr
| drizzd: sort of :) | 18:18 |
| → MattDiPasquale joined | 18:18 |
| foca_ → foca | 18:18 |
| ← EgS left | 18:19 |
| ← Sput left | 18:19 |
| → EgS joined | 18:19 |
| → Sput joined | 18:19 |
| ← queso left | 18:20 |
| → warthog9 joined | 18:20 |
| → BabelO joined | 18:21 |
|
robinr
| tetraedr: its the content that is stupid, not the tracker | 18:23 |
|
tetraedr
| robinr: I've got it :) | 18:23 |
| ← gmaxwell left | 18:24 |
| → ciaran joined | 18:24 |
| ← BabelO left | 18:24 |
| → david_koontz joined | 18:24 |
| → brendon_work joined | 18:24 |
| → almostautomated joined | 18:25 |
| → BabelO joined | 18:26 |
| ← adante left | 18:28 |
| → EmilMedve joined | 18:30 |
|
lacky33
| anyone here have any idea what this means? http://gist.github.com/6213 | 18:31 |
| → drizzd_ joined | 18:31 |
|
pasky
| maybe incomplete gitosis installation or something? | 18:31 |
| ← EmilMedve left | 18:32 |
|
lacky33
| install didn't raise any errors :\ | 18:32 |
| ← Whtiger left | 18:33 |
| ← zachinglis left | 18:34 |
| → jstad joined | 18:34 |
| → Whtiger joined | 18:35 |
| → boink__ joined | 18:37 |
| ← flaguy left | 18:37 |
| → chuckr joined | 18:37 |
| ← igorgue left | 18:38 |
|
chuckr
| I need to find a way to get a tag from a git archive that wouold be approximately 6 months old, how would I do something like that? | 18:38 |
|
| Oh, I left off, after I found the tag, I need to be able to update my git archive to that level | 18:38 |
|
j_engelh
| chuckr: git describe $(git log --until="6 months ago" --pretty=format:%H -1) | 18:39 |
|
chuckr
| I guess there isn't any reason I couldn't say that I'm talking about the Xorg archive. They have a nice script (git_xorg.sh) that updates all of the dirs, I just need to know how to modify the command that updates | 18:40 |
|
j_engelh
| once you know the tag, git checkout is easy | 18:40 |
|
chuckr
| that's going to get me the tag, that's half of it ... | 18:40 |
|
| (I know cvs really wellm git far less well) | 18:40 |
| → alenoosh joined | 18:40 |
|
j_engelh
| git checkout <yourtagname> | 18:42 |
|
| shush shush now go checkout :p | 18:42 |
| → adante joined | 18:42 |
|
alenoosh
| hi all , I have noticed different announcements about the latest stable release of git : one says 1.5.6.5 and the other 1.6.0 , which one is right ? | 18:42 |
|
j_engelh
| both. | 18:42 |
|
alenoosh
| j_engelh, ? | 18:42 |
|
chuckr
| thanks, got the tag and now I'm going to do the checkout, do appreciate it. For some reason, I'm having a really bad time witht he git syntax | 18:43 |
| ← drizzd left | 18:43 |
|
j_engelh
| alenoosh: if both are declared 'stable' (rather than say, oldstable or whatever you want to call it), then the one with the higher version number wins | 18:43 |
| → foca_ joined | 18:43 |
|
alenoosh
| in git.or.cz , it is 1.5.6.5 but in git-scm.com it is 1.6.0 | 18:44 |
|
j_engelh
| the git.or.cz webpage was not updated, 1.6.0 is on the ftps. | 18:44 |
|
Mikachu
| git.or.cz says 1.6.0 here | 18:44 |
|
alenoosh
| j_engelh, oh really | 18:45 |
|
j_engelh
| yeah yesterday it was not updated ;) | 18:45 |
|
Mikachu
| iirc git.or.cz just looks at the maint branch | 18:45 |
| ← hurikhan|Work left | 18:47 |
|
chuckr
| j_engleh, just to let you know, I got my script modified, and everything worked ok (once i realized you had to have been referring to a bash syntax, I usually use tcsh as a user shell, ksh as a programming shell) | 18:47 |
| mw|lunch → mw | 18:47 |
|
alenoosh
| yes you are right , I cleared my history , now it's 1.6.0 , thanks | 18:48 |
| ← raz left | 18:48 |
| boink__ → raz | 18:48 |
| ← Whtiger left | 18:52 |
| ← ferdy left | 18:54 |
| → Whtiger joined | 18:56 |
| ← sergiodj left | 18:58 |
| → ferdy joined | 18:59 |
| ← Cap_J_L_Picard left | 18:59 |
| → Cap_J_L_Picard joined | 18:59 |
|
alenoosh
| j_engelh, will upgrading to new version of git , cause problems for repositories that have used previous version of git ? | 19:00 |
|
j_engelh
| I have not had any. | 19:00 |
|
Mikachu
| you could get duplicate hooks in new repos if you don't use a package manager | 19:00 |
|
lacky33
| anyone here have any idea what this means? http://gist.github.com/6213 | 19:00 |
|
godlygeek
| Mikachu: why git-for-each-ref to get branch names, and not git-rev-parse --symbolic-full-name --branches --remotes ? | 19:01 |
| ← tiglionabbit left | 19:01 |
| → jmalonzo joined | 19:01 |
| ← mithro left | 19:02 |
| → mithro joined | 19:02 |
| ← _Vi left | 19:03 |
|
Mikachu
| --branches is sort of new, i think | 19:03 |
|
godlygeek
| ok. figured there was probably a reason, just figured i'd ask since it looks a lot simpler. | 19:04 |
|
almostautomated
| anyone feel up to helping an msysgit update question (first time user of git)? Installed msysgit-fullinstall-1.5.4...., noticed that that didn't install the shell extension for GUI, so then did git fetch which gave an origin error, then did git fetch git://repo.or.cz/msysgit.git followed by cd git && make install... still showed 1.5.4 so... | 19:04 |
| → sbahra joined | 19:05 |
|
almostautomated
| grabbed the 1.5.6.1 preview installer, installed it to the same dir I had used for 1.5.4 | 19:05 |
| → zawir_ joined | 19:05 |
| → gcw|secution joined | 19:05 |
| → redondos joined | 19:06 |
| ← bdiego left | 19:06 |
|
almostautomated
| the git shell showed 1.5.6.1 and the msys shell showed 1.5.4 still so I did make install again... bad idea :) | 19:06 |
| ← Whtiger left | 19:06 |
|
almostautomated
| now both the git shell and msys shell show 1.5.4 and the gui shows 1.5.6.1 | 19:06 |
| ← zawir left | 19:07 |
|
Mikachu
| you have to uninstall the old binaries first probably | 19:07 |
| → Whtiger joined | 19:07 |
| ← alenoosh left | 19:07 |
| → bdiego joined | 19:07 |
| ← BabelO left | 19:08 |
|
xinming
| WHenever I use a git-<command>, It will bring up pager automatically, How to avoid this pleaese? | 19:09 |
|
Mikachu
| man git-config | 19:09 |
| → queso joined | 19:09 |
|
Mikachu
| /pager | 19:09 |
|
almostautomated
| hrrmm... I was thinking that I did the pull make install incorrectly, shouldn't I be able to pull the latest and make install to update git? or a better question would be how would I update msysgit to the latest? | 19:10 |
| → Bryson joined | 19:10 |
|
hachi
| If I try something silly like: git svn clone -treleases/ -b/ | 19:10 |
|
| does anyone know if it will do 'the right thing' ? :) | 19:10 |
| ← Whtiger left | 19:10 |
| → dv_ joined | 19:10 |
|
dv_
| hi | 19:10 |
|
Mikachu
| almostautomated: 1.6 stopped shipping the git-* binaries in $path, so it won't overwrite the old ones | 19:10 |
|
dv_
| if I type git branch <branch>, a new branch is created based on the contents of <branch> | 19:11 |
|
Mikachu
| dv_: no | 19:11 |
|
dv_
| but what if I want a completely empty branch, where I can put fresh new files? | 19:11 |
| ← adante left | 19:11 |
| → _graham_ joined | 19:11 |
|
dv_
| sorry, I meant create <branch> based on HEAD | 19:11 |
|
Mikachu
| dv_: git symbolic-ref HEAD refs/heads/newbranch; rm .git/index; git add files; git commit -m hooray | 19:11 |
| → Whtiger joined | 19:12 |
|
xinming
| Mikachu: What do you mean please? | 19:12 |
| → ciaran_ joined | 19:12 |
|
dv_
| wow. this looks ... scary | 19:13 |
|
Mikachu
| xinming: man git-status, look for "core.pager" | 19:13 |
|
| xinming: err, git-config | 19:13 |
|
| Mikachu decides 3 people is too many to help at the same time | 19:13 |
|
xinming
| Mikachu: one is done. :-) | 19:14 |
|
almostautomated
| Mikachu: thanks :) make that two | 19:14 |
| ← janm left | 19:14 |
| → Sonderblade joined | 19:15 |
| lu_zero_ → lu_zero | 19:16 |
| ← gcw|secution left | 19:17 |
| ← frq1_dave left | 19:19 |
| → univate_ joined | 19:19 |
|
hachi
| error: unable to create directory for .git/refs/remotes/tags/ircd-hybrid-7.2.0 | 19:19 |
| ← sbahra left | 19:20 |
|
hachi
| tags is an existing file | 19:20 |
|
| why is git trying to create a directory the same name as a file it already created? | 19:20 |
|
dv_
| Mikachu, so you would suggest to branch it and then get rid of all the files in the new branch? | 19:21 |
|
Mikachu
| dv_: i don't know if i was suggesting anything, as much as i was telling you exactly what to do | 19:21 |
|
dv_
| well I dont do rm anything until I fully understand it | 19:22 |
|
Mikachu
| removing .git/index is the same as git rm --cached -r ., but easier | 19:22 |
|
dv_
| alright | 19:23 |
|
Mikachu
| and if someone tells you rm on irc and you don't trust them, just use mv instead :) | 19:23 |
|
dv_
| git symbolic-ref HEAD refs/heads/newbranch <- this still puzzles me | 19:25 |
|
| I copied a local repository as a testing ground, | 19:25 |
|
jast
| hachi, what did you do that resulted in that message? | 19:25 |
|
dv_
| and destroyed it using this command | 19:25 |
| → BabelO joined | 19:25 |
|
hachi
| earlier paste | 19:25 |
|
Mikachu
| then you didn't use that command | 19:25 |
|
dv_
| "fatal: Not a git repository" | 19:25 |
|
hachi
| -treleases/ -b/ | 19:25 |
|
Mikachu
| you probably misspelled refs/heads/ | 19:26 |
|
dv_
| probably | 19:26 |
|
| but there is no way back, is there? | 19:26 |
|
Mikachu
| of course there is, just edit .git/HEAD :) | 19:26 |
|
dv_
| git symbolic-ref HEAD refs/heads/master refuses to work | 19:26 |
| → EmilMedve joined | 19:26 |
|
hachi
| I would blame my incantation, but I see no reason why it would force git's hand in creating a directory for a file that already exists | 19:26 |
| ← EmilMedve left | 19:26 |
| ← peeja left | 19:27 |
| → sbahra joined | 19:27 |
|
jast
| hachi, does that file have any interesting contents? | 19:27 |
| ← lacky33 left | 19:27 |
| ← univate left | 19:27 |
|
hachi
| it has a SHA1 | 19:28 |
|
j_engelh
| I haz a SHA1, but I committed it. | 19:28 |
|
hachi
| k/ick j_engelh | 19:28 |
|
jast
| I made you a SHA1 | 19:28 |
|
Mikachu
| but i garbage collected it | 19:28 |
|
jast
| :( | 19:28 |
| ← ciaran left | 19:29 |
| → tiglionabbit joined | 19:29 |
|
jast
| it's a bit surprising that refs/remotes would contain a ref directly | 19:29 |
|
| especially when the repository you cloned from doesn't have that | 19:29 |
|
| you could check if it has broken packed refs | 19:29 |
| → jerbear joined | 19:29 |
|
dv_
| hmm | 19:30 |
| ← krawek left | 19:30 |
|
robinr
| omg, my egit patch bucket is overflowing | 19:30 |
|
dv_
| if I modify a file in branch A, | 19:30 |
| → krawek joined | 19:31 |
|
dv_
| and commit it, then checkout branch B, | 19:31 |
| ← bdiego left | 19:31 |
|
dv_
| the file isnt marked as modified | 19:31 |
|
| oh wait. | 19:31 |
|
| dv_ stupid | 19:31 |
| → bdiego joined | 19:32 |
| → towski joined | 19:32 |
| → d0k joined | 19:34 |
|
dv_
| hmmm any chance on seeing the differences between branch A and B? | 19:35 |
|
j_engelh
| git diff A..B | 19:35 |
|
dv_
| ah | 19:36 |
|
| I tried git diff A B | 19:36 |
|
| thanks | 19:36 |
| → clarby_ joined | 19:39 |
|
j_engelh
| dv_: there is no file called 'B' :) | 19:39 |
|
drizzd_
| git diff A..B and git diff A B are synonymous | 19:41 |
|
j_engelh
| git diff A B sounds to me like git diff A..workingcopy B | 19:41 |
|
clarby_
| Ok, so .. I have a repository on my computer, my friend one on his. If he wants to receive my updates, does he not need access to my account credentials? (we're using ssh). How do people go about this? Add users to your system that you work with, and make the repository readable bya common group or something? | 19:41 |
|
j_engelh
| and git diff --cached A B would git diff A..index B | 19:41 |
| ← pygi left | 19:45 |
| → pygi joined | 19:45 |
|
Eludias
| clarby_: You can either push your updates, or he can pull your updates. Pulling requires read permissions on the 'server', pushing requires write permissions on the 'server'. | 19:45 |
|
| clarby_: A 3rd option is to have a real server to which both of you push/pull. | 19:46 |
|
clarby_
| Eludias: Ok, we'll go with the readable permission stuff thing :) | 19:46 |
|
Eludias
| clarby_: Only work by pulling is the easiest. In that case you just 'read' the others repo. | 19:46 |
|
dv_
| ok now that I created and committed to branches, | 19:47 |
| → ez joined | 19:47 |
|
dv_
| a simple git push will push all new branches as well? | 19:47 |
|
Eludias
| clarby_: In that case your friend needs to be able to read your files. Which probably means he has an account on your machine. | 19:48 |
|
dv_
| or do I need --all here? (I dont know what the manpage means by "refs") | 19:48 |
|
drizzd_
| refs are branches and tags | 19:48 |
|
dv_
| okay so I do need --all | 19:48 |
|
| right? | 19:49 |
|
clarby_
| How about his one: We've both checked out a copy of a repository using git-svn. We've been working on different things, comitting to our local git repositories. What happens when I try to pull his version? :) | 19:49 |
| → adante joined | 19:50 |
| ← bgerber left | 19:50 |
|
jast
| sometimes it works well, sometimes it doesn't. anyway, if it works and produces merges, committing those back to svn is usually not a good idea. you'll want to squash stuff together etc., and then the other guy's repository and yours will definitely be out of sync. so even if everything works well you'll have to talk to each other for some operations | 19:51 |
|
dv_
| guys? git push --all is ok? | 19:51 |
|
| I don't want to fsck up other's repositories | 19:52 |
|
jast
| push --all is required if you want to push all of your local branches, even those not existing on the other side | 19:52 |
| ← advany left | 19:52 |
|
jast
| push without arguments only considers branches that exist on both sides | 19:52 |
|
dv_
| which is the case here; I just created one | 19:52 |
|
jast
| you can also specify a single branch to push | 19:53 |
| → WorkingG1ier joined | 19:53 |
|
jast
| personally i think it's best not to get into the habit of using --all if all you did was to create a single new branch | 19:54 |
| → botanicus_ joined | 19:54 |
| → jaalto joined | 19:54 |
|
drizzd_
| I believe git push --all is equivalent to git push origin 'refs/heads/*' | 19:55 |
| ← snitko left | 19:55 |
| ← botanicus left | 19:55 |
|
jast
| not exactly, i think. refs/heads/* is probably not a good refspec. | 19:55 |
| → sexy_man_XD joined | 19:55 |
|
jast
| oh well, it probably is, usually | 19:55 |
| → t joined | 19:55 |
|
drizzd_
| I think that's again short for 'refs/heads/*:refs/heads/*' | 19:56 |
| ← jtong left | 19:56 |
| → redondos_ joined | 19:57 |
|
jast
| yeah, it probably is. i was thinking about something else but that was a dead end | 19:57 |
| ← WorkingGeier left | 19:57 |
| WorkingG1ier → WorkingGeier | 19:57 |
| ← yatiohi left | 19:59 |
| ← dv_ left | 19:59 |
| → yatiohi joined | 20:00 |
| ← sexy_man_XD left | 20:00 |
| ← t left | 20:01 |
| meyering → jim-away | 20:01 |
| → sverrej joined | 20:02 |
| ← Lash| left | 20:02 |
| ← nostromo left | 20:05 |
| ← alley_cat left | 20:06 |
| ← eikonos left | 20:06 |
| → rdavila joined | 20:07 |
| → nostromo joined | 20:07 |
|
clarby_
| jast: Ok. So now he pulled mine, got two conflicts. Should I then let him fix those, and I'll pull, and then we can dcommit to the svn repository? | 20:08 |
|
jast
| you don't both have to merge | 20:09 |
|
| because when you dcommit, in the svn repo the merges pretty much disappear, so if you now each have slightly different merges, i can't guarantee git-svn won't get confused on one side | 20:09 |
|
| what i did was this, roughly: | 20:09 |
| → toxx_ joined | 20:11 |
|
jast
| as soon as all of your non-svn commits are integrated in one repository, create a series of linear commits from them. in fact i avoided merges altogether to make this easier. then dcommit, throw away the non-svn commits and git-svn rebase. | 20:12 |
|
| it's ugly, admittedly, but i've had wildly different experiences with dcommiting git merges | 20:12 |
| ← redondos left | 20:12 |
| redondos_ → redondos | 20:12 |
|
jast
| at least even with crippling your workflow that way, using git-svn is more pleasant than using svn itself | 20:14 |
| → BrianTheCoder joined | 20:16 |
| ← Eludias left | 20:18 |
| ← rompus left | 20:22 |
| ← rdavila left | 20:22 |
| ← MattDiPasquale left | 20:23 |
| ← Aikawa left | 20:25 |
| ← langenberg left | 20:26 |
| → Aikawa joined | 20:27 |
| ← jmalonzo left | 20:27 |
| → ams joined | 20:28 |
|
ams
| any quick way to check if you are in a git repository or not? (like hg root or some such)? | 20:28 |
|
robinr
| git rev-parse --git-dir | 20:29 |
|
ams
| lovley | 20:29 |
|
| thanks | 20:29 |
| ← ams left | 20:29 |
| ← tetraedr left | 20:30 |
| → ams joined | 20:30 |
|
ams
| hi again! :-) | 20:30 |
| ← d0k left | 20:31 |
| ← schlort left | 20:31 |
| → Lash| joined | 20:32 |
| → capisce joined | 20:32 |
| → GITNoob joined | 20:33 |
|
GITNoob
| does anyone have experience with the submodule capabilities? | 20:33 |
|
| i've been having issues with pushing a submodule back to our master repository and I can't seem to find any documentation on pushing submodules back to origin repo | 20:34 |
| → schlort joined | 20:36 |
|
GITNoob
| can anyone see this? | 20:38 |
| → _Vi joined | 20:39 |
| → waltman joined | 20:39 |
|
waltman
| I want to pull a single file from a git branch to master. is that "git checkout master; git checkout mybranch foo.pl; git commit"? | 20:40 |
|
| that doesn't seem to get its history though. | 20:40 |
|
ams
| any way to check if a file is registered in git? | 20:40 |
|
vmiklos
| many :) | 20:41 |
|
| try git ls-files | 20:41 |
|
kergoth`work
| waltman: you cant just pull one file with history, it doesnt work that way, not without using filter-branch to rewrite those commits to include just that file, and then pull those over, anyway.. | 20:42 |
|
| well, afaik. | 20:42 |
| → MattDiPasquale joined | 20:42 |
|
waltman
| kergoth`work: can I pull just the revision where that file changed? | 20:43 |
|
GITNoob
| sorry to spam.. but am i voiced (can anyone besides me see this messsage?) | 20:43 |
|
ams
| vmiklos: thank you | 20:43 |
|
kergoth`work
| GITNoob: the channel isnt moderated, you dont need to be voiced | 20:44 |
|
GITNoob
| cool. thanks | 20:44 |
| → methods joined | 20:44 |
|
methods
| what's the difference from a git push to commit ? | 20:44 |
| → zachinglis joined | 20:45 |
| ← capisce_ left | 20:45 |
|
smartcat99s
| methods: commits happen on the local machine, and push shares commits out to other repositories | 20:45 |
|
jast
| methods, i suggest you read http://en.wikipedia.org/wiki/Distributed_Version_Control_System | 20:46 |
|
up_the_irons
| methods: commit does not talk to any server, it commits locally. Push shares your local commits to a server | 20:46 |
|
methods
| i use svn allot | 20:46 |
|
GITNoob
| looking for help with submodule push to master repository. I've become an expert with submodule adds but am having all kinds of trouble pushing a submodule to the master repo. any help appreciated thanks | 20:46 |
|
up_the_irons
| methods: and yes, you need to read about distributed VCS's :) | 20:46 |
|
methods
| is svn not a dvcs ? | 20:47 |
|
up_the_irons
| methods: svn is centralized, git is distributed. | 20:47 |
|
methods
| ah | 20:47 |
|
parasti
| that's the d in dvcs | 20:47 |
|
methods
| yea it's like everyone works in a branch of their own right | 20:47 |
|
| then pushes are really like merges | 20:47 |
|
up_the_irons
| methods: if you try to apply svn principles to git, you will be very confused. To use git properly, you need to learn the differences between distributed and centralized systems | 20:48 |
|
methods
| i'm just saying | 20:48 |
|
jast
| hey, i just found my first xhtml document in the wild that gecko refuses to render because it's invalid | 20:48 |
|
up_the_irons
| methods: actually, the "pull" is the merge part. push just copies the objects/refs to the server | 20:48 |
|
jast
| and that's why you shouldn't use xhtml :) | 20:48 |
|
| (it was supposed to be about the merits of DVCS) | 20:49 |
|
up_the_irons
| GITNoob: any time i pondered using submodules, I found that using a simple sym-link did the trick just the same | 20:50 |
| → precision joined | 20:51 |
|
bmalee
| jast, surely that's only why you shouldn't use *invalid* xhtml? | 20:51 |
| ← tango_ left | 20:52 |
| ← ph^ left | 20:52 |
|
jast
| bmalee, check out the 'SPECIFIC PROBLEMS' section in http://www.hixie.ch/advocacy/xhtml | 20:53 |
| ← methods left | 20:53 |
| → dsyzling joined | 20:53 |
|
GITNoob
| up_the_iro: we wanted to avoid having to log on to our central GIT repository when checking in "subprojects." That's the only reason we were pursuing the subproject approach. Is there a sym-link procedure that would accomplish the same thing? | 20:54 |
| → bugfux joined | 20:54 |
|
GITNoob
| ideally we want the concept of submodule commits in GIT to be as simple to perform as CVS project imports were to your target repo | 20:55 |
|
j_engelh
| imports are evil :p | 20:56 |
| ← spearce left | 20:57 |
| ← pygi left | 20:58 |
| → ph^ joined | 20:58 |
|
up_the_irons
| GITNoob: i don't understand why you need to log onto the central git repo server | 20:58 |
|
| GITNoob: each symlink points to a first class git repo on it's own | 20:59 |
|
| GITNoob: and you updated those repos as you see fit. I know, a little more work, but it does the job | 20:59 |
|
GITNoob
| if we're talking vanilla symlinks then I understand why they would be easier, but doesn't think require a login to our central GIT repo (our repo where all the devs officially send commits).. and manually create symlinks? | 21:00 |
| ← GITNoob left | 21:00 |
| ← cannonball left | 21:01 |
| ← lorandi left | 21:02 |
| → GITNoob joined | 21:06 |
| ← netoman left | 21:07 |
| → mattf joined | 21:07 |
|
up_the_irons
| GITNoob: no problem | 21:07 |
|
| GITNoob: yeah, you need to create the symlinks manually, but only once | 21:08 |
|
mattf
| is it possible to manage connections to multiple svn repos within a single git repo via git-svn? | 21:08 |
|
up_the_irons
| mattf: yes, but not really worth the pain it causes | 21:08 |
|
| mattf: i did it once, then abandoned it | 21:08 |
|
| mattf: just made separate repos | 21:09 |
|
mattf
| ok. i'm hoping to consolidate repos | 21:09 |
|
GITNoob
| up_the_irons.. gotcha. we could create the symlinks manually also, but if we were to take that approach, then using submodule is just as viable. We haven't experienced any problems with them as long as we create the submodules from our "master repo" | 21:10 |
|
up_the_irons
| GITNoob: ok | 21:10 |
|
GITNoob
| i guess the long and short of it is.. there's no way to get around having to log onto our central GIT repo to handle this issue. is that a valid statement? | 21:10 |
|
Arrowmaster
| yes if you use something that allows you to remotely create new repos, like gitosis | 21:11 |
| ← BabelO left | 21:11 |
| → eikonos joined | 21:11 |
|
up_the_irons
| well, i don't really understand why you need to log onto the central git server. Is this for continuous integration or something? | 21:11 |
|
doener_
| GITNoob: maybe you could explain your trouble with pushing submodules? | 21:13 |
| → BabelO joined | 21:13 |
|
Arrowmaster
| hes creating new submodules right? meaning new repos that dont yet exist on their central server so they cant be pushed to | 21:14 |
|
doener_
| ah, yeah, that would explain the login stuff, adding completely new subprojects | 21:14 |
|
GITNoob
| sure. our problem is this. We create a bare CENTRAL_repo, and clone the project to a WORKING_repo... from the WORKING_repo we add new submodules via "mkdir module_a; touch foo; git add .; git commit; cd ../; git submodule add module_a; git submodule commit; git push" | 21:15 |
| → tibbe joined | 21:15 |
|
tibbe
| could someone please clarify how to use .gitignore to ignore all files and directories under dist/ ? | 21:15 |
| ← waltman left | 21:16 |
|
Arrowmaster
| tibbe: create dist/.gitignore and add * to it | 21:16 |
| ← bongiojp left | 21:16 |
|
Auris-
| just to day I ignore a directory with: /dir/ | 21:16 |
|
tibbe
| Arrowmaster: dist/ doesn't exist in the directory, it's created as a part of the build | 21:16 |
|
GITNoob
| the push appears to work.. but when attempting to clone the new subproject from CENTRAL_repo/module_a, there are complains about the folder not existing on CENTRAL_repo | 21:16 |
|
parasti
| tibbe: add /dist/* to the top-level .gitignore? | 21:17 |
|
Auris-
| parasti, why *? | 21:17 |
|
tibbe
| parasti: I'm trying variations on that, haven't tried that particular one. Will do | 21:17 |
|
doener_
| GITNoob: yeah, you should: mkdir new_submodule; cd new_submodule; touch foo; git add foo; git commit; git push ssh://server/path/to/new_submodule_repo master; | 21:17 |
|
tibbe
| I tried dist/ /dist/ /dist/**/* | 21:18 |
|
GITNoob
| git-submodule status yields results for module_a from WORKING_repo.. but gives an empty list from CENTRAL_REPO... even though the push to CENTRAL_repo appears to have worked | 21:18 |
|
doener_
| GITNoob: and then clone that new repo into your superproject (from the server) | 21:18 |
|
Auris-
| tibbe, have you added dist/ into the repo? | 21:18 |
|
tibbe
| Auris-: no, I don't want it in the repo | 21:18 |
| ← Method left | 21:18 |
|
jast
| the shortest way is to put '/dist' in the toplevel .gitignore file | 21:18 |
|
Auris-
| tibbe, well, sometimes people try to ignore things they have already commited. of course it doesn't work. | 21:18 |
| ← bdiego left | 21:18 |
| ← mithro left | 21:19 |
|
Arrowmaster
| GITNoob: submodules are not added to a repo, only information that they exist | 21:19 |
| ← bcarlyon|laptop left | 21:19 |
|
tibbe
| Auris-: ah OK, no I haven't done that, thanks for the warning though | 21:19 |
|
GITNoob
| doener_: so you're saying we should be cloning from WORKING_repo/module_a... into CENTRAL_repo/module_a? | 21:19 |
| → mithro joined | 21:19 |
| ← tibbe left | 21:20 |
| ← rwaite left | 21:20 |
| ← icwiener left | 21:21 |
|
doener_
| GITNoob: no. You create a repo for the submodule on the central server. And then you add the submodule in your local repo with "git submodule add ssh://server/module_a module_a", and then you can commit that and push it otu | 21:22 |
| ← ph^ left | 21:22 |
|
doener_
| s/otu/out/ | 21:22 |
|
| GITNoob: the above commands were about creating that repo for the submodule | 21:23 |
| → bdiego joined | 21:23 |
|
GITNoob
| I see | 21:24 |
|
| so in practice, I should always create the submodules on the central server | 21:24 |
|
doener_
| GITNoob: your "git submodule add module_a" recorded your local path to the module_a repo, so the others try to clone from "module_a/", and of course that doesn't exist yet | 21:24 |
|
Arrowmaster
| the only way to avoid having to login to the server to create it is by using an automated solution such as gitosis | 21:24 |
| → pjhyett joined | 21:24 |
|
doener_
| the superproject only stores data about what and from where to fetch. Not the whole subproject repos | 21:25 |
|
GITNoob
| gotcha. thanks for the information | 21:25 |
|
doener_
| http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#submodules | 21:25 |
|
| did you read that? | 21:25 |
| → kixx joined | 21:25 |
|
GITNoob
| yep. i was reading that this morning | 21:26 |
|
doener_
| hm, ok, it's only a small note that you should not use local URLs, I thought it was a bit more elaborate | 21:27 |
|
vmiklos
| btw, if you want so (storing the whole subproject) then you can use the subtree merge strategy. | 21:27 |
| ← Weasel[DK] left | 21:27 |
|
GITNoob
| i think i see what needs to take place now. thanks for all of the help | 21:29 |
| → alb joined | 21:30 |
| ← kumbayo left | 21:31 |
| → pipegeek joined | 21:32 |
| → sergiodj joined | 21:33 |
| → david_koontz_ joined | 21:33 |
|
pipegeek
| how does one get the full hashes produced by git-reflog? It cuts them off after seven characters with an ellipsis | 21:33 |
|
j_engelh
| where? | 21:34 |
| ← Sonderblade left | 21:34 |
|
pipegeek
| hmm? | 21:34 |
|
doener_
| git reflog --abbrev=40 | 21:34 |
|
j_engelh
| you are seeing seven chars where..? | 21:34 |
|
pipegeek
| thank you | 21:34 |
|
j_engelh
| oh, reflog | 21:34 |
| dwmw2 → dwmw2_gone | 21:35 |
| → ebel joined | 21:35 |
| ← qrush left | 21:36 |
| → wagle joined | 21:37 |
| ← bugfux left | 21:37 |
| → codeshot joined | 21:40 |
| ← Aikawa left | 21:40 |
| ← tcoppi left | 21:43 |
| → tcoppi joined | 21:45 |
| ← albertito left | 21:46 |
| ← david_koontz left | 21:49 |
| ← jstad left | 21:49 |
| ← EgS left | 21:49 |
| ← Sput left | 21:49 |
| → EgS joined | 21:49 |
| ← ez left | 21:50 |
| → jstad joined | 21:50 |
| → Sput joined | 21:50 |
| ← LiamH left | 21:51 |
| ← Sput left | 21:51 |
| → Sput joined | 21:51 |
| ← vbabiy left | 21:52 |
| ← krh left | 21:53 |
| → bcarlyon|laptop joined | 21:54 |
| → tommorris joined | 21:54 |
| cbrake → cbrake_away | 22:00 |
| ← andyjgill left | 22:01 |
| ← Amorphous left | 22:01 |
| ← BabelO left | 22:02 |
| ← jackdempsey left | 22:02 |
| ← toxx_ left | 22:03 |
| → Amorphous joined | 22:04 |
| ← BrianTheCoder left | 22:04 |
| ← GITNoob left | 22:07 |
| → BabelO joined | 22:07 |
| → pygi joined | 22:07 |
| → spearce joined | 22:08 |
| ← dsyzling left | 22:10 |
| → dv_ joined | 22:11 |
|
dv_
| hi | 22:11 |
|
| so I've pushed a new branch into a repository | 22:11 |
|
| now I want to pull from it, but I always get only the master one! | 22:12 |
|
doener_
| pull is a shortcut for fetch+merge | 22:12 |
|
dv_
| do I have to do git clone <url> <branch> ? | 22:12 |
|
doener_
| it merges into your current branch whatever it is configured to | 22:12 |
|
| just "git fetch" and then "git branch -r" to see the remote tracking branches | 22:13 |
| ← charon left | 22:13 |
|
dv_
| ah alright | 22:14 |
| ← EgS left | 22:14 |
| ← Sput left | 22:14 |
| → EgS joined | 22:14 |
| ← EgS left | 22:14 |
| → EgS joined | 22:14 |
|
dv_
| now to actually get that branch on my local repository | 22:14 |
| → Sput joined | 22:15 |
|
dv_
| git checkout origin/<branch> is enoughß | 22:15 |
| ← zachinglis left | 22:15 |
|
dv_
| ? | 22:15 |
|
doener_
| you already have that branch. Otherwise "git branch -r" wouldn't list it | 22:15 |
| → fixUp joined | 22:15 |
| ← _graham_ left | 22:15 |
|
dv_
| but git branch doesnt | 22:15 |
| → bugfux joined | 22:16 |
|
doener_
| because "git branch" lists your local branches. Those on which you work | 22:16 |
|
dv_
| well | 22:16 |
|
| this is what I want! | 22:16 |
|
| kergoth`work restrains his impulse to yell RTFM repeatedly.. | 22:16 |
|
dv_
| i want to continue to work on that branch | 22:16 |
|
doener_
| if you want to create a branch to work on, it's "git checkout -b new_name origin/whatever" | 22:16 |
|
dv_
| I RTFMed. it confused me | 22:16 |
|
| doener_ is in some kind of trance, actually typing most stuff without looking at the screen ;-) | 22:16 |
| ← Lash| left | 22:16 |
| ← JimmyB_ left | 22:17 |
|
dv_
| in git I always *create* new branches? | 22:17 |
|
| oh wait | 22:17 |
|
| decentralized | 22:17 |
| ← jstad left | 22:17 |
|
doener_
| only if you want to... in this case, you want one, didn't you say that just a moment ago? | 22:17 |
| ← fafhrd_ left | 22:18 |
|
doener_
| remote tracking branches represent the state of the remote repository | 22:18 |
|
dv_
| yes, I just was under the impression that I need to give git a command to pull the branch over to my computer | 22:18 |
|
| as in a copy | 22:18 |
|
doener_
| so when you try to check one out, you get a detached HEAD instead. Because otherwise committing would alter the branch and defeat its purpose | 22:18 |
|
| you already did that with "git fetch" | 22:18 |
|
| "git fetch" updates the remote tracking branches | 22:19 |
| → dragonball_ joined | 22:20 |
| → gasbag joined | 22:20 |
| → johnw joined | 22:20 |
|
dv_
| "Because otherwise committing would alter the branch and defeat its purpose" | 22:21 |
|
| you mean, trying to commit when the branch is remote | 22:22 |
|
| ? | 22:22 |
| → adante_ joined | 22:22 |
|
doener_
| yes. The remote tracking branch represents the state of the remote | 22:22 |
|
dv_
| well yes, its not local, | 22:22 |
|
| so a commit would affect a non-local repo | 22:22 |
| ← neoeinstein left | 22:22 |
|
doener_
| no. You have the whole branch and all of its history locally available. "git fetch" fetched that for you | 22:22 |
|
dv_
| hmm and what if I do something like git checkout -b somename1 origin/anothername2? | 22:24 |
|
| i.e. when I change the name while checking out? | 22:24 |
|
doener_
| that creates a new branch somename1 that initially points to the same commit as origin/anothername2 | 22:24 |
|
| (and checks that branch out) | 22:24 |
|
| branches are just references. They reference some commit | 22:25 |
|
dv_
| all pulls and pushes then go to origin/anothername2? | 22:25 |
|
doener_
| no | 22:25 |
|
| somename1 is (by default) setup so that "git pull" will fetch and merge the branch "anothername2" from the remote "origin" | 22:26 |
|
| but push has no per-branch settings | 22:26 |
|
| the default operation is just to update all branches on the remote for which you have local branches with a matching name | 22:26 |
| ← tcoppi left | 22:27 |
| → bugfux_ joined | 22:28 |
| ← bugfux left | 22:28 |
|
doener_
| kergoth`work: you still ok? ;-) | 22:30 |
|
dv_
| so somename1 wont be uploaded | 22:30 |
|
robinr
| spearce: dammit, we broke eclipse 3.3 compatibility | 22:30 |
|
kergoth`work
| i stopped looking at the channel before i exploded | 22:30 |
|
dv_
| unless I specify --all | 22:30 |
|
spearce
| robinr: in egit master? | 22:30 |
|
robinr
| yep | 22:30 |
|
spearce
| dammit. | 22:30 |
|
doener_
| or just somename1, no need to push everything else as well... | 22:30 |
|
robinr
| pushed it /before/ i tried the batch build | 22:30 |
|
spearce
| well, fix up patch it is then. | 22:31 |
|
raz
| is there a quick way to have 'git status'-like output but only for the current directory (and below)? 'git status .' does unfortunately not limit | 22:31 |
|
robinr
| spearce: provider.getJSch().addIdentity(path); | 22:32 |
| ← _Vi left | 22:32 |
|
robinr
| getJSch isn't in 3.3 | 22:32 |
|
spearce
| argh. | 22:32 |
|
robinr
| shall we ditch 3.3 ? | 22:32 |
|
spearce
| i'm starting to think so. there's UI bugs in 3.3 that marek says they won't even fix. | 22:32 |
|
robinr
| yep | 22:32 |
| ← schlort left | 22:32 |
|
spearce
| i mean i'm not surprised they say that, they want to stay focused on the latest stuff, just like everyone else. | 22:33 |
|
| its just hard for us to continue to support the aging 3.3 when its maintainers aren't really doing it either. | 22:33 |
|
robinr
| they started to drop off 3.5 milestone releases already | 22:33 |
| ← juanjoc left | 22:34 |
|
robinr
| and noone is paying us to support 3.3... | 22:34 |
|
spearce
| correct | 22:34 |
| → eventualbuddha joined | 22:34 |
|
spearce
| so maybe its just time. | 22:34 |
|
doener_
| raz: closest thing would be "git diff --name-only -- ." I think | 22:34 |
|
eventualbuddha
| if I have two commit ids, abc and def, is there a way to tell which one came first, assuming they are in an ancestor-descendant relationship? | 22:35 |
|
doener_
| raz: that's for the "changed but not updated" part. For "changes to be committed" add --cached | 22:35 |
| → rdd joined | 22:35 |
|
j_engelh
| eventualbuddha: git rev-list ID1 | grep ID2 && echo "ID2 is a descendant of ID1"; | 22:35 |
|
robinr
| that flickering from Mareks patches... is it really bad? | 22:36 |
| ← joydivider left | 22:36 |
|
eventualbuddha
| j_engelh: cool, thanks | 22:36 |
|
doener_
| eventualbuddha: do you already know that one is the ancestor or the other? | 22:36 |
|
spearce
| robinr: its so annoying to me on mac os x i can't stand to test his code, let alone use it. it looks like utter crap. | 22:36 |
|
robinr
| i.e. the alternativ commented out code | 22:36 |
| ← adante left | 22:37 |
| adante_ → adante | 22:37 |
|
eventualbuddha
| doener_: yes | 22:37 |
| → schlort joined | 22:38 |
|
eventualbuddha
| doener_: the situation is this: I have multiple machines which have a deployed revision of the codebase. I read the revision from each. they may not match (or even exist). I want to show which revision is deployed on which machines and what changes will be made to bring them up to date | 22:38 |
| ← bdiego left | 22:38 |
|
j_engelh
| eventualbuddha: there's a faster one I think even | 22:38 |
|
doener_
| test -z "$(git rev-list -1 a..b)" && echo "b is an ancestor of a" | 22:38 |
|
j_engelh
| git log --pretty=oneline $ID1..$ID2; if it outputs zero lines, $ID1 is not an ancestor of $ID2. | 22:39 |
|
raz
| doener_, well, i actually like the "modified/deleted/renamed/untracked" groupings... i wonder why "git status ." doesn't do what i would have expected? | 22:40 |
| ← danten left | 22:40 |
|
doener_
| eventualbuddha: hm, "they may not match (or even exist)" doesn't sound like a guaranteed ancestor relationship | 22:40 |
|
| raz: because "git status ." shows what would happen if you do "git commit ." | 22:41 |
| → flaguy joined | 22:42 |
|
raz
| doener_, well, not really. git status *always* shows "Changed but not updated" also from parent directory. even though that stuff would never commit in a "git commit .". | 22:42 |
| ← chris2 left | 22:42 |
|
eventualbuddha
| doener_: well, they're always deployed from the same branch (master, at this point), so if a deployed revision exists, it is guaranteed to be an ancestor (or equal) of the current master | 22:43 |
|
doener_
| raz: well, "changed but not updated" stuff does not go into a commit | 22:43 |
| ← LostInTheWorld left | 22:43 |
|
doener_
| raz: only the "changes to be committed" part | 22:43 |
|
eventualbuddha
| j_engelh: cool, thanks again | 22:43 |
|
raz
| doener_, then why does "git status ." show it at all? when i'm asking for the status of "." then i'm most certainly not interested in stuff that's not gonna be committed in some parent directory... | 22:44 |
|
j_engelh
| you can combine that with rev-list even | 22:44 |
|
| git rev-list id1..id2 | wc -l; # greater than 0: ancestorship yes | 22:44 |
|
| to avoid the potential overhead of log | 22:44 |
| → clamothe joined | 22:44 |
|
doener_
| raz: you're not asking for the status of ".", you're asking for the status that is relevant for "git commit ." | 22:45 |
|
| raz: and that means "commit everything in ., but nothing else" | 22:45 |
| → abizern joined | 22:45 |
|
doener_
| raz: so all changes in your current directory and below should show up as staged | 22:45 |
|
clamothe
| I'm using git-svn. If I create a tag, then svn dcommit, will the tag be created in the subversion repository? | 22:45 |
| ← CelticSoul left | 22:45 |
|
doener_
| raz: and everything outside your current directory shows up as unstaged, even if you did a "git add" on it before | 22:46 |
| ← david_koontz_ left | 22:46 |
|
doener_
| j_engelh: well, and using my rev-list version from a few minutes ago, you also avoid outputting and counting the lines, except for the first one | 22:47 |
|
raz
| doener_, well, i guess i understand what git is trying to achieve but imho that's bad UI design. when i ask for the status of '.' then i clearly want the stage/unstaged list for '.'. not for the whole repository. | 22:47 |
|
j_engelh
| yeah you can use -1 :) | 22:47 |
| → david_koontz joined | 22:48 |
|
doener_
| eventualbuddha: hm, what do you do after determining which one is the ancestor? | 22:48 |
|
| eventualbuddha: I have a feeling that you might want the a...b syntax | 22:49 |
|
eventualbuddha
| doener_: I plan on showing a list of commits, similar to how tig does it, but instead of branches in brackets (e.g. [master] [origin/master] Whatever) it'd show servers: [ww1.example.com] Some commit \n Another commit \n [ww2.example.com] The commit the other server is on | 22:51 |
|
| doener_ goes looking for what tig output looks like | 22:51 |
| ← bugfux_ left | 22:52 |
|
doener_
| eventualbuddha: http://jonas.nitro.dk/tig/screenshots/main-view.png | 22:52 |
|
| eventualbuddha: like that? | 22:52 |
|
eventualbuddha
| doener_: yes, but more stripped down (like no date). imagine that instead of the branch name in pink ([cogito-0.16.3]) it'd be the server that is at that revision | 22:53 |
|
| or servers, as the case may be | 22:54 |
|
doener_
| eventualbuddha: with the full log, or just a list of the states of the servers? | 22:56 |
|
eventualbuddha
| doener_: the log from the oldest deployed revision to the newest HEAD, with deployments marked in brackets as branches are in that screenshot | 22:57 |
|
robinr
| spearce: tried http://www.jgit.org/update-site ? | 22:57 |
|
| night | 22:57 |
| → ajonat joined | 22:57 |
|
spearce
| not recently. i'll give it a shot. | 22:57 |
| → patmaddox joined | 22:57 |
| → CelticSoul joined | 22:57 |
|
eventualbuddha
| doener_: this is part of a larger project. I'm not looking to do this all simply as part of a quick n' dirty git command | 22:57 |
|
doener_
| eventualbuddha: there's only one HEAD per repo | 22:57 |
| ← WorkingGeier left | 22:58 |
|
eventualbuddha
| doener_: sure. I'm being imprecise. but you get the idea | 22:58 |
|
doener_
| eventualbuddha: I'd probably have refs that represent the various servers, pointing to the respective commits | 22:59 |
| ← schlort left | 22:59 |
|
doener_
| eventualbuddha: then you should be able to reuse more existing stuff and can probably avoid a good deal of walking the history over and over again | 22:59 |
|
eventualbuddha
| doener_: you mean you'd actually record in the repo where the servers are? | 22:59 |
| → emlprime joined | 22:59 |
|
doener_
| eventualbuddha: yeah, maybe something like refs/servers/timmy, refs/servers/jimmy, refs/servers/kenny, ... | 23:00 |
|
eventualbuddha
| interesting idea... | 23:01 |
|
| doener_: how would I use that in git? | 23:01 |
| → schlort joined | 23:02 |
|
doener_
| you can just run "git update-ref refs/servers/jimmy $whatever" to create/update the ref, and then use it as servers/jimmy | 23:03 |
| → LiamH joined | 23:03 |
| → BrianTheCoder joined | 23:03 |
|
eventualbuddha
| huh. that's neat | 23:03 |
|
doener_
| though at least the --decorate option for "log" doesn't seem to look at such refs | 23:03 |
| ← mithro left | 23:03 |
|
eventualbuddha
| doener_: tig seems to | 23:03 |
|
| but that doesn't help me all that much | 23:03 |
|
abizern
| Okay, so I've done a git reset --hard in a fit of anger | 23:03 |
|
| I know that the sha of each of my commits still exists in the repo | 23:04 |
|
| Two questions: | 23:04 |
|
doener_
| abizern: git reflog | 23:04 |
|
eventualbuddha
| doener_: git log --decorate does show them | 23:04 |
|
doener_
| eventualbuddha: in the "commit" line after the hash, in parentheses? Doesn't do that here | 23:05 |
|
abizern
| doener_ | 23:05 |
|
doener_
| that's me | 23:05 |
|
eventualbuddha
| doener_: yep. commit f342d72c391253171d2a77ad143daec1cd292565 (refs/servers/ssu2.prod, refs/servers/ssu1.prod, refs/remotes/origin/master, refs/remotes/origi | 23:05 |
|
| n/HEAD, refs/heads/master) | 23:05 |
|
abizern
| doener_: thanks for answering my question before I even asked it. | 23:05 |
|
doener_
| eventualbuddha: hm, weird, doesn't do that here. Which git version is that? | 23:06 |
|
eventualbuddha
| git version 1.5.3.7 on OS X | 23:06 |
|
doener_
| ah, crap, I forgot the "refs/" part when I created it | 23:07 |
|
| works here as well now | 23:07 |
| → HenrikV joined | 23:10 |
| ← mtd left | 23:11 |
| ← ereslibre left | 23:11 |
|
HenrikV
| My setup has been working fine, but now when I do a 'git push s1', I get | 23:12 |
|
| error: unable to create temporary sha1 filename ./objects/tmp_obj_qdqH6Z: Permission denied | 23:12 |
|
| fatal: failed to write object | 23:12 |
|
| error: unpack failed: unpacker exited with error code | 23:12 |
| ← BabelO left | 23:12 |
|
HenrikV
| I don't recall changing any permissions ?!?! | 23:12 |
|
doener_
| abizern: oh well, it was not so hard to guess what you were looking for when you started to describe your situation ;-) | 23:12 |
| ← thannoy left | 23:13 |
|
abizern
| doener_: I still feel like an idiot. - I can see the sha I need, but I can't think how to move the tip of my branch to that sha. | 23:13 |
|
doener_
| abizern: either reset again, or merge, or rebase | 23:14 |
| → BabelO joined | 23:14 |
| → WorkingGeier joined | 23:15 |
| ← robinr left | 23:15 |
| ← emlprime left | 23:15 |
| → jstad joined | 23:16 |
|
abizern
| doener_: thanks again. Rebase worked a treat. | 23:17 |
| ← tiglionabbit left | 23:20 |
| → jmspeex joined | 23:21 |
| ← BabelO left | 23:22 |
| ← univate_ left | 23:23 |
|
HenrikV
| It seems there are some file locks interfering. I haven't found any running processes that should have any relation to the repository. Is there a way to recover the repos? | 23:23 |
| ← tommorris left | 23:23 |
| → univate_ joined | 23:23 |
| → ereslibre joined | 23:23 |
| → BabelO joined | 23:24 |
| → tcoppi joined | 23:25 |
| ← ereslibre left | 23:27 |
|
HenrikV
| When you push to a repository, what ref is it filed under? | 23:27 |
| ← xinming left | 23:27 |
|
doener_
| whatever you specified | 23:27 |
|
| the default is to update matching branches | 23:28 |
|
| that is, all branches on the remote for which a local branch with the same name exists | 23:28 |
|
HenrikV
| so a 'git push someone@somewhere' pushes changes to master from master, right? | 23:30 |
|
doener_
| yes | 23:30 |
| → mithro joined | 23:30 |
|
doener_
| unless you have setup some push refspecs in your config I think | 23:30 |
|
HenrikV
| ah | 23:30 |
|
doener_
| then it should probably do whatever your config says instead | 23:31 |
| ← ebel left | 23:32 |
| → tiglionabbit joined | 23:36 |
| ← kixx left | 23:36 |
| ← codeshot left | 23:36 |
| → iqson716_ joined | 23:37 |
| jstad → jstad|away | 23:37 |
| ← iqson716_ left | 23:37 |
| ← tiglionabbit left | 23:38 |
|
HenrikV
| Is there a document somewhere describing how to use git with user/group. My repos stopped working within anything but root access | 23:39 |
| ← cbreak left | 23:39 |
| jstad|away → jstad | 23:40 |
| → rdavila joined | 23:41 |
| ← BabelO left | 23:43 |
| → zachinglis joined | 23:48 |
|
HenrikV
| Guess I'm fuxored | 23:48 |
|
doener_
| hm? sounds like you chmod need some chmod | 23:49 |
|
| s/chmod/just/1 | 23:49 |
| ← HenrikV left | 23:49 |
|
doener_
| or maybe some patience... | 23:49 |
| ← fixUp left | 23:50 |
| alb → albertito | 23:51 |
| ← halfline left | 23:52 |
| ← parasti left | 23:53 |
| ← pete__c left | 23:53 |
| → Pasquale joined | 23:54 |
| → tiglionabbit joined | 23:54 |
| jstad → jstad|away | 23:55 |
| ← zachinglis left | 23:55 |
| → mjc joined | 23:55 |
| ← Pasquale left | 23:56 |
| → zachinglis joined | 23:56 |
| ← zachinglis left | 23:57 |
| → zachinglis joined | 23:58 |
| → markkalderon joined | 23:59 |