IRCloggy #git 2011-11-07

Logs Search ←Prev date Next date→ Channels Documentation

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

2011-11-07

jamiemill left00:00
ipalaus_ left00:00
veganadian left00:02
cloudgroup joined00:03
jargon- joined00:05
RaceCondition joined00:07
EricInBNE joined00:08
cloudgroup left00:13
p3rror left00:14
gigamonkey joined00:15
jrnieder joined00:16
replore joined00:18
neurodrone_ joined00:21
neurodrone left00:21
neurodrone_neurodrone00:21
CpuID2 joined00:21
CpuID2 hey pals…. I've been going through some guides regarding pushing a copy of my git tree to a remote server (as opposed to doing a clone/pull from the target server), just deciding if I'm best using git init or git init --bare on the remote end prior to doing a git remote / git push remotetarget master ?00:22
airborn left00:22
jrnieder hi CpuID200:22
CpuID2 one issue with git init is its considered "non-bare", so you get the "refusing to update checked out branch refs/heads/master" message on push00:23
airborn joined00:23
jrnieder "git init --bare" makes a repository with just the objects and refs00:23
without the files checked out00:23
CpuID2 yea00:23
which defaults to the current working dir00:23
jrnieder so yeah, it's usually exxactly what one wants on a server00:23
CpuID2 rather than creating a .git00:23
jrnieder "git init --bare foo.git"00:23
CpuID2 ok so that gives me effectively what would be the contents of .git on a normal clone00:24
jrnieder if this repository is meant to be pushed to by multiple people, then "git init --shared --bare foo.git" and see gitcvs-migration(7)00:24
easytiger left00:24
CpuID2 basically… I'm looking to push out local copies of a package's source tree to boxes for deployment00:25
and then bootstrap/build within them00:25
but without hammering the pkg maintainers git server in doing so00:25
jrnieder ah, deployment :)00:25
CpuID2 so on my staging server, i git clone first00:25
jrnieder I'm a fan of the "hook on the server side" model00:25
CpuID2 and my staging box has ssh keys to all of the release targets00:25
:)00:25
initially i was going to bootstrap/build on the staging box00:26
but I've chosen to do that on the release targets for now00:26
easytiger joined00:26
CpuID2 it does mean more builds, but meh00:26
theres benefits there as well00:26
yea i see whatcha mean about hooks on the server side00:26
(FYI, its freeswitch I'm pushing down)00:26
kp^ left00:26
sandstorm is there any way to store repo on an ftpes account?00:27
airborn left00:27
jrnieder sandstorm: sure, use your usual ftp client00:27
CpuID2 so jrnieder in this scenario… do you see any problems with the mkdir /usr/src/freeswitch && cd /usr/src/freeswitch && git init route?00:27
jrnieder if your account has very limited space, I'd recommed using git-bundle(1)00:27
sandstorm jrnieder: can I do commits and checkouts over ftpes?00:27
CpuID2 its not going to be a shared work environment on each release target00:28
jrnieder sandstorm: depends on lots of details --- how far away is your ftp server? is there a limited quota? any security requirements? why ftp and not something like git protocol, http, or ssh?00:28
CannedCorn left00:28
CpuID2 but for future releases i was going to just git push updates down to the targets (incrementally) then git reset --hard on them, rather than pushing full trees00:28
TheMoonMaster_ joined00:29
sandstorm jrnieder: very far, no limited quota, no security requirements(except tls) and how can I do via http? can I commit over http and so on ?00:29
jrnieder CpuID2: imho life is easier with just one central repo, with a hook to notify the targets to go fetch when when there are new changes to fetch00:29
sandstorm jrnieder: it is a shared hosting btw.00:29
CpuID2 jrnieder: oh the issue here… is for initial new target deployments00:29
once they have a tree to work off i can have them pull down updates fine :)00:30
jrnieder CpuID2: I see00:30
CpuID2 (or ill actually git push them from my staging box, due to the preference of not wanting my targets to have keys to the staging box)00:30
jrnieder anyway, others can say something about pushing to deploy00:30
I might be the only one who likes avoiding magic with worktrees :)00:31
CpuID2 hehe :)00:31
in essence there will be a central repo here00:31
but i was avoiding running a git server to allow git:// clones00:31
nevyn gitolite!00:31
CpuID2 the staging box will be the central repo00:31
which is built off doing a clone and keeping it updated from the upstream pkg.'s tree00:32
jrnieder sandstorm: regarding your questions -00:32
thiago left00:32
kermit left00:32
jrnieder a. commits happen locally, so that part of the workflow doesn't care what protocol you use :)00:33
kermit joined00:33
sandstorm jrnieder: can I push the commits to ftpes?00:33
jrnieder b. yep, I think fetch over ftps works, but it's been a while since I checked. Make sure you run "git update-server-info" at the appropriate times to make index information available to the client, since the server won't be smart enough to generate it on the fly00:33
sandstorm jrnieder: and do checkouts over there?00:33
jrnieder c. I don't remember if anyone implemented push over ftp/ftps00:34
but you can always use a normal file-synching program to just send the foo.git directory over there, and clients won't mind00:34
sandstorm hmm I see00:35
jrnieder you can certainly push over http00:35
sandstorm so file synching program will mimic pushes?00:35
jrnieder yep, yep00:35
sandstorm and pulls?00:35
jast yes, only much less efficiently00:35
jrnieder for pull, as I said, as long as you run "git update-server-info", the git client can handle it (slowly, as jast said)00:35
sandstorm I can push over http but since it is a shared hosting, they might not have set configurations for git to work00:35
jast the tricky part is updating the server info thingy00:36
with shared hosting it might be difficult00:36
jrnieder right, push over http requires either a webdav setup on the server (slow, complicated) or the "smart HTTP" cgi script00:36
sandstorm what is the use of server info ?00:36
I am very new to this repository thing00:36
jrnieder when git fetches, we don't want to just slirp up everything00:36
jast it's for "dumb HTTP" so that client can figure out what branches you've got and at what version they are00:36
jrnieder what jast said00:37
jast basically without the server info that HTTP transport doesn't really do you any good00:37
sandstorm got it00:37
jast the "smart HTTP", on the other hand, requires more stuff on the server to be set up00:37
|Agent left00:37
sandstorm so I will probably give up :)00:37
jast you need a git binary somewhere, and some CGI-related setup00:37
your project isn't, per chance, open source?00:37
sandstorm nope it is a small web project00:38
commercial one00:38
jast ... there goes the free hosting alternative00:38
sandstorm we are 2 people so we wanted to use a nice versioning system00:38
glcrazy_ joined00:38
dv310p3r joined00:38
sandstorm to sync our works00:38
jast depending on how aggressive your respective firewalls are, you might be able to get by without a central repository00:39
jrnieder sandstorm: do you have ssh access to the shared host?00:39
jast since git is decentralized, in theory you can just swap stuff without a middle man00:39
sandstorm jrnieder: nope, ssh is disabled, it is a business hosting00:39
offby1 *sigh*00:39
sandstorm unfortunately00:39
k-man left00:40
offby1 so "business" here must actually mean "lame"00:40
sandstorm hmm00:40
what would be the best practice to swap things in order to sync 2 peoples work ?00:40
copying over?00:40
jrnieder sandstorm: I'd exchange git bundles by email :)00:40
sandstorm oh very nice thinking sir00:40
is that possible?00:40
jrnieder or patches, to be able to comment on them00:40
yep00:40
jast bundles need some manual figuring out work00:41
jrnieder for bundles, see man git-bundle(1)00:41
jast *automatic message* the 'git-bundle' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=git-bundle.html;hb=html>00:41
jrnieder for patches, see man git-format-patch(1)00:41
jast *automatic message* the 'git-format-patch' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=git-format-patch.html;hb=html>00:41
sandstorm do patches include real work files?00:41
jast i.e. you need to tell git which commit range to pack into a bundle00:41
sandstorm I see00:41
jast textual patches, OTOH, are easily to read and thus review before applying them00:41
sandstorm ah very nice feature00:41
jast they're not so exciting if your repository involves binary files00:41
sandstorm for instance we create artwork, we create php files and etc. when we commit new files, the patch will include compressed versions of them right?00:42
jrnieder in a bundle, everything is compressed00:42
CpuID2 hmm i have a feeling I'm rather close to where i want to be right now :)00:42
jast a patch is just a regular unified diff00:42
sandstorm for instance, .psd files etc00:42
jrnieder in a patch, everything is in a text form00:42
CpuID2 i ended up just going git init && git config receive.denyCurrentBranch ignore00:42
on the target00:42
jast a bundle, on the other hand, is compressed00:42
jrnieder binary files get converted to some kind of textual representation00:42
CpuID2 then doing a git remote … … && git push … master00:43
jrnieder of the delta00:43
CpuID2 from my staging00:43
sandstorm so I will go with bundles I guess to sync our work ?00:43
ah I see00:43
interesting00:43
textual representation wow00:43
CpuID2 but… now i have what looks like a lot of "deleted" files on my target according to git status, but they don't actually exist00:43
jast yeah, probably just base64-encoded or whatever00:43
glcrazy_ left00:43
glcrazy_ joined00:44
jast CpuID2: *automatic message* an explanation of bare and non-bare repositories can be found here: http://bare-vs-nonbare.gitrecipes.de/00:44
sandstorm textual or not, patches or bundles will be serving for our needs very good features00:44
what happens if we concurrently changed same files and send bundles to each other?00:45
will they be merged and new patch comes out ?00:45
CpuID2 *reads*00:45
\00:45
jast then at least one of you is going to have to merge the bundle locally, and create a new bundle that contains the merge00:45
bonhoffer joined00:45
sandstorm got it00:46
jrnieder or rather, when you fetch from the bundle, you'll see the actual history00:46
with a branch00:46
jast note that not the two bundles get merged, but rather devA's bundle gets merged to devB's local repository (including its history)00:46
fine distinction, though :)00:46
jrnieder and then you can use "git merge" on it00:46
sandstorm but if both of us merge it the product will be the same but different SHA1's ?00:46
TheMoonMaster left00:46
jrnieder that's right, so one of you should do the merge00:46
jast if you merge it the same way, yeah00:46
jrnieder and send a bundle with it to the other00:46
jast usually it's best to have one person merge and the other just watch and look busy00:46
sandstorm hehehe00:47
I liked the watch and look busy part :P00:47
glcrazy_ left00:48
jast if you trust the other developer to do good merges, you might want to think about convincing him to do the 'merge' part and focus on the 'look busy' part00:48
sandstorm I am trying to figure out the best practice complying with this 2 man scenario, that's why I am asking these, thanks alot for the information :)00:48
hmm so as far as I get, merging requires skills :)00:48
in terms of reliability and integrity00:49
maybe I could go with the merging part :(00:49
jast yeah, we regularly get folks trying to salvage their messed up merges00:49
sandstorm I see00:49
jast the problem with messed up merges is that they're hard to undo (mostly due to communication overhead, so in a 2-dev team it's less of an issue but still extra work)00:49
sandstorm I just started reading about repositories and git yesterday00:50
learning alot00:50
jast nice :)00:50
some people come here and try to solve problems without learning. doesn't work nearly as well.00:50
TheMoonMaster joined00:50
jast at least that's the impression I get00:50
sandstorm true, it is the extra work but I wonder how merges are done in huge projects such as linux kerel, it should be done elegantly00:50
SethRobertson read !book00:50
jast *automatic message* 'Pro Git' is a complete book about git that is available online for free (there's a print version, too): http://progit.org/book/00:50
well, I can explain it briefly00:51
CpuID2 jast: ok i can pretty much confirm i want a non-bare repo, as i do want a working tree to be able to do stuff in on the destination box00:51
caseymcg left00:51
CpuID2 tried mkdir /usr/src/repo && cd /usr/src/repo && git init00:51
bob2 tl;dr don't blindly use 'git pull'00:51
CpuID2 then dropped that post-update in there00:52
sandstorm okay I can listen00:52
jast CpuID2: the last sections address how you can make that happen00:52
CpuID2 (in hooks, chmod +x etc)00:52
it complained about receive.denyCurrentBranch on git push from my source, set it as ignore on the target00:52
it ran00:52
but i still don't have a working tree on the target?00:52
its definitely propagating data across though, looking at the output of git push on the source00:52
RaceCondition left00:52
sorin left00:53
jast sandstorm: there is a sort-of counterpart to merge. suppose devA has a few commits that he wants to get included upstream. before he sends it, he gets the latest changes from upstream, then uses this other tool to remove the need for the merge to involve any work, *then* sends the updated commits.00:53
it comes with its own gotchas, of course00:53
CpuID2 interestingly enough on the target, git status shows them all as "deleted" files, like its awaiting a commit or something00:53
jast CpuID2: yeah, you need a hook script that syncs up the working tree with the new history00:53
saschagehlich left00:53
CpuID2 I've dropped the post-update script in there...?00:53
(from that URL)00:54
jast CpuID2: it's showing them as 'deleted' because they are new in the history and they're not in the working tree, i.e. it looks as if you checked out that new history and then deleted them00:54
CpuID2 yea fair call00:54
can i verify if the hook was actually called?00:54
sandstorm jast: what if that commiting is trying to be done by 2 people at the exact time? they both got the latest codes but trying to do concurrent commits?00:54
jrnieder CpuID2: add "echo hellooooo there" to the hook :)00:54
sandstorm *same00:55
CpuID2 ah :)00:55
bob2 sandstorm, then one of them will end up with a very boring merge00:55
jast or have it create a dummy file00:55
bob2 sandstorm, but you can just try and see for yourself00:55
CpuID2 hah simple solution00:55
git reset --hard00:55
:)00:55
sandstorm hmm allright, I am learning :)00:55
CpuID2 voila, working tree :)00:55
jast sandstorm: chances are still very good that if the submissions don't cover the same part of the codebase, they can be merged automatically00:55
Cipher-0 joined00:55
jast and if they can't, that's just rotten luck and one of them will have to redo the work :) or the maintainer will have to do it00:56
in the end the maintainer is always responsible anyway00:56
sandstorm ah I see00:56
CpuID2 I'm still getting my head around git… but i am starting to see while its complexed in its own ways its very flexible :)00:57
(coming from an svn background)00:57
sandstorm so the maintainer will see 2 branches from the same codebase which were supposed to be done on top of eachother00:57
tewecske left00:57
jast actually he'll probably see two branches that were supposed to be done "next to" each other00:57
jrnieder sandstorm: a good way to figure these things out is to experiment00:57
and see what happens00:57
jast yeah, experiments rock :)00:58
sandstorm allright, I need to try on a test repository :)00:58
jast luckily test repositories are cheap00:58
CpuID2 ok awesome I'm satisfied with this now00:58
sandstorm thank you very much for your time and consideration00:59
CpuID2 effectively not cloning down every time, just propagating changes :)00:59
jast and jrnieder: thanks for pointing me in the right direction/s :)00:59
flash3d8_ joined00:59
jrnieder yeah, thank you jast :)01:00
jast hey, what just happened01:00
qian joined01:00
jast three people thank me and my internet connection disappears :O01:00
sorin joined01:00
sandstorm thank you all, I really appreciate this community01:00
:P01:00
sorinGuest7395901:01
CpuID2 hahaha01:01
jast yeah, you're laughing01:01
luxurymo_ joined01:01
jast while I'll have to hold a funeral for my late connection01:01
timmywil joined01:02
glcrazy left01:02
CpuID2 hehehe01:02
aidenhong joined01:02
CpuID2 jast: thanks for your help (since you missed it the first time ;))01:02
glcrazy joined01:02
jast no, I got it all right01:02
*my* connection was gone... but my IRC client is on another connection01:02
glcrazy_ joined01:02
jast in another castle, even01:03
anyway, you're welcome, guys01:03
tizzotizzo-afk01:03
jast still considering charging for the help at some point in the future ;)01:03
CpuID2 ah :)01:04
nps01:04
irc bounces ftw01:04
lunchub joined01:04
kl4m joined01:04
MUILTFN left01:06
PovAddict joined01:06
bitkiller left01:06
JoeyA left01:06
PovAddict I have a bunch of repositories with *many* common objects (they are the different attempts of conversions from the same SVN repository)01:07
is there any way to "merge" the packfiles together so they take less space?01:07
ie. end up with a single packfile with the objects of all01:07
kriegerod left01:07
kevlarman PovAddict: if they really are the same, git repack will do it01:08
CpuID2 ok heres a good question, whats the best method for using per-target SSH keys with git remote?01:08
.ssh/config ?01:08
i assume i can't really provide one in the url or as a param to git remote01:09
PovAddict CpuID2: yes, .ssh/config01:09
CpuID2 np01:09
PovAddict kevlarman: how would I do that? if I copy the packfile of one repo into the objects/pack/ of another, and run git repack, it would just decide that none of the objects in that pack is referenced by refs in the repo01:10
nudb2 left01:10
kevlarman PovAddict: why are you trying to share objects between different repositories?01:10
mystik s01:10
kevlarman (that tends to lead to some really unexpected things happening)01:10
endy_c joined01:12
jrnieder kevlarman: might be on a machine with limited disk space01:12
flaguy48 left01:12
CpuID2 hmm theres not something equivalent to rsync -e for git remote is there?01:12
that would be so much more preferable to using .ssh/config right now :)01:12
SethRobertson GIT_SSH?01:12
jast PovAddict: look at the alternates mechanism, and heed its warnings (documented for the -s option of git clone, for example)01:12
CpuID2 o001:12
that sounds promising01:13
jrnieder PovAddict: consider making them a single repository01:13
CpuID2 aha :) http://www.reddit.com/r/git/comments/hdn1a/howto_using_the_git_ssh_variable_for_private_keys/01:13
perfect01:13
this will work, thx SethRobertson :)01:13
PovAddict kevlarman: they have *lots* of common data (in some cases there may be a single tree object differing between two), since they are different conversions of the same svn repo, with tweaked conversion settings01:13
endy_c Anybody here use bitbucket? How do I upload my already running local repo?01:13
cooloney joined01:14
PovAddict endy_c: I use bitbucket but only for Mercurial repos01:14
jrnieder PovAddict: what are these repos going to be used for? (just curious)01:14
SethRobertson git remote add bitbut, git push bitbut01:14
endy_c PovAddict: I'm trying for the first time bitbucket's git repo01:14
SethRobertson: thanks!01:15
PovAddict jrnieder: archival; I already had problems in the past with a converted repo missing stuff, realizing one month after, and not having kept enough information to track down what went wrong01:15
kerrick joined01:15
sandstorm left01:17
maletor joined01:17
sandstorm joined01:17
jrnieder PovAddict: thanks01:18
shiba_yu36 joined01:19
wbednarski left01:20
glcrazy left01:21
glcrazy_ left01:21
nyeates joined01:21
kevlarman PovAddict: then yeah just fetch all the branches into a single repo01:22
nyeates any recommendations on how to remove an api key from a file (but not the entire file), from many commits?01:22
frogonwheels nyeates: look at man git-filter-branch01:23
jast nyeates: *automatic message* the 'git-filter-branch' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=git-filter-branch.html;hb=html>01:23
sandstorm left01:24
CannedCorn joined01:25
shruggar left01:26
endy_c left01:27
nyeates k thx01:28
nyeates left01:28
baburdick joined01:28
tiagobutzke joined01:29
novettam_ left01:31
xiehong joined01:31
herdingcat joined01:31
envi_ joined01:31
Pilif12pPilif|stufy01:32
Pilif|stufyPilif|study01:32
ArseneRei left01:34
bonhoffer_ joined01:35
Targen left01:36
thews joined01:36
caseymcg joined01:38
envi_ left01:38
bonhoffer left01:38
bonhoffer joined01:38
niloc132 joined01:39
berserkr left01:39
brian_g left01:40
flash3d8_ left01:40
ziggles joined01:41
bonhoffer_ left01:41
Pilif|studyPilif12p01:42
bonhoffer left01:44
tomas_w joined01:45
andygrossman joined01:45
andygrossman left01:46
bigkm left01:47
eephillip joined01:48
jrnieder left01:50
bonhoffer joined01:52
Mannequin left01:52
cronin joined01:55
luxurymo_ left01:56
lisak left02:00
ouyes joined02:01
nightshift joined02:09
Cipher-0 left02:12
tomas_w left02:15
nightshift left02:15
the-fonz left02:21
alc joined02:22
Guest73959 left02:27
dreiss left02:28
Yuuhi`` joined02:30
CannedCorn left02:31
wks joined02:31
Yuuhi` left02:32
flaguy48 joined02:33
CannedCorn joined02:33
jrnieder joined02:35
regedit joined02:38
kimico joined02:40
regedit is there some general guideline about when to leave some file untracked and when to gitignore?02:42
i have files which are specific to the site at which the particular clone of the origin repo resides (think .htaccess files or path-specifig config files) should those be untracked or gitignored?02:42
herdingcat left02:43
jrnieder regedit: not sure I follow02:44
oc80z me either02:44
jrnieder .gitignore is a good place to describe the files that your project's build process will create02:44
regedit hm leme try again02:44
jrnieder for example, it can list patterns like "*.o", and then contributors will not end up "git add"-ing any .o files unless they use --force02:44
glennpratt joined02:45
jrnieder one contraversial question is whether a project's .gitignore should include entries like ".*.swp" for generated files that are not due to the build process02:45
regedit this project is not your typical application / tool programmed in C / C++ / Java, it's actually just a website. php.02:45
oc80z right.02:45
PovAddict I think files like .*.swp should be in gitignore02:45
oc80z yeah02:45
jrnieder on one hand, this means it is less likely that someone will accidentally add those files; on the other hand, a list of all possible files of that kind can get a bit absurd02:45
oc80z them vim files, eh?02:46
regedit which means that the checked out working directory is the final shipped product02:46
PovAddict but something that is eg. a log file by a tool a certain developer uses, and not something used by the buildsystem, then that dev should add it to info/exclude02:46
which is local to his repo02:46
oc80z they are in my gitignore.02:46
jrnieder a principled answer would be to say, "always list those only in .git/info/exclude or the file mentioned in [core] excludesfile in ~/.gitconfig"02:46
frogonwheels .. or also local config is a good candidate for .gitignore.. where you have thingconfig.examplefile committed, and then thingconfig ignored02:47
jrnieder: or better yet, a global ignore file as appropriate.02:47
jrnieder: I mean for *.swp02:47
jrnieder frogonwheels: yeah, that's what I was vaguely gesturing at with the [core] excludesfile thing02:47
frogonwheels jrnieder: sorry - was typing it at the same time - so didn't read before <enter> :)02:48
ArseneRei joined02:48
PovAddict kevlarman, jrnieder: I won't bother merging the packfiles, I just found that rzip does wonders with the directory full of git repos02:48
frogonwheels oh .. no I mean I didn't read that far of your line jrnieder.. sorry02:48
PovAddict 956MB -> 193MB02:48
jrnieder frogonwheels: yeah, np02:48
Vampire0 joined02:48
jrnieder there's also room for less principled approaches, like "we've received enough patches that add .swp files, so let's just list it in .gitignore to document that we are never going to have a source file with that name"02:49
variable joined02:49
jrnieder [/end side-rant :)]02:50
frogonwheels jrnieder: huh. yeah. f* add . ;)02:50
niboshi joined02:50
PovAddict and there's a small chance that LZMA will do even better; 4 minutes left for compression to finish02:50
Vampire0_ left02:51
PovAddict wait, I took the above number from a stale ls -l :P02:51
rzip was actually 956MB -> 218MB02:51
jrnieder regedit: to answer your question --- frogonwheels's thingconfig.examplefile advice seems good02:52
regedit i was having an issue where I gitignored that kind of stuff but it was still being comitted, maybe because it was already added priorly...02:53
PovAddict yeah, gitignoring something won't remove it if you already added it02:53
jrnieder yep, .gitignore means "save me from accidentally adding it", not "ignore this file even if it is already being tracked"02:54
regedit so i have to make sure to .gitignore it before i do git add . right?02:54
tiagobutzke left02:54
jrnieder regedit: nah, just use "git rm --cached"02:55
maletor left02:55
regedit oh, ok02:55
where can i find #git logs ?03:00
frogonwheels regedit: it's in the topic03:00
regedit i was looking for it..03:00
variable hehe. git-svn lost to compiling gcc twice!03:01
regedit frogonwheels: i only see [1.7.7.2 | http://git-scm.com | Please skim http://jk.gs/gitchan.html before asking, or at least before giving up!]03:01
variable regedit: the second link03:01
regedit oh it's linked03:01
variable http://colabti.org/irclogger/irclogger_log/git?date=2011-11-0703:01
regedit sorry, thanks!03:01
bonhoffer left03:02
variable modifies HKLM through regedit03:03
frogonwheels would have been more impressed if it had been through a vim plugin.. or 'reg' command directly ;)03:04
regedit has actually been having a hard time with environment variable s through CMD line 'REG' lately03:04
PovAddict eww03:04
regedit REG ADD HKCU\Environment /f /v HOME /d C:\foo\bar03:05
that part works03:05
variable frogonwheels: regedit would have to /nick for that to work03:05
regedit but when I REG DELETE HKCU\Environment /f /v HOME , the variable still works03:06
variable always works03:06
regedit I even developed a tiny little C++ executable to call windows api SendMessageTimeout() with flag 'WM_SETTINGCHANGE' for "Environment", didn't seem to help..03:09
it's like environment variables get cached or something03:09
samrose left03:10
ouyes git is amazing03:11
flavius left03:12
PovAddict left03:13
glennpratt left03:13
offby1 variable: even on the Lord's Day? tsk tsk03:21
CannedCorn left03:22
Targen joined03:22
kerrick left03:27
nicxvan left03:29
variable offby1: hrm?03:29
dreiss joined03:35
CpuID2 hey guys… question, if i want to git pull and replace all local commits with whatever upstream has03:37
whats the best flag to use?03:37
jrnieder git fetch upstream03:37
git reset --hard upstream/master03:37
something like that03:38
CpuID2 hmm upstream doesn't exist in this case03:38
what can i use to check what else its called?>03:38
jrnieder you mean, you use a url instead of a named remote?03:38
git fetch http://host/path/to/repo03:38
git log FETCH_HEAD03:38
git reset --keep FETCH_HEAD03:39
herdingcat joined03:39
CpuID2 ive done a git clone git://xxx to get this repo03:39
by default does it name remotes?03:39
jrnieder origin03:39
CpuID2 or is it optional?03:39
ah03:39
jrnieder (see man git-remote)03:39
alecthegeek left03:39
jast *automatic message* the 'git-remote' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=git-remote.html;hb=html>03:39
CpuID2 there we go :)03:39
mdel joined03:39
CpuID2 git fetch origin03:39
git reset --hard origin/master03:39
:)03:39
all good now03:40
regedit what is the difference between writing "foo/" versus writing "/foo/" to a .gitignore file at the root of the working dir ?03:40
injekt joined03:40
CpuID2 i assume thats the equivalent of git pull -f && git reset --hard03:40
in the event there were no local commits?03:40
alecthegeek joined03:41
johnkpau_ left03:41
jrnieder CpuID2: I don't know what git pull -f does03:41
injekt How would one best go about displaying information about the first commit for a given file03:41
jrnieder try it?03:41
CpuID2 oh i did03:41
it pulls down commits from upstream03:41
but it won't overwrite local commits03:41
Chib joined03:41
CpuID2 i think git fetch origin works better there03:41
jrnieder jast: html docs moved to git.kernel.org/?p=git/git-htmldocs.git, master branch03:41
thansen I accidentally did a git pull and have conflicts as a result..is it possible/easy to get back to my pre-pull state?03:42
jrnieder thansen: man git-pull tells me "to cancel a conflicting merge, use git reset --merge"03:44
jast thansen: *automatic message* the 'git-pull' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=git-pull.html;hb=html>03:44
thansen jrnieder: perfect, thanks03:45
jrnieder np03:45
regedit anyone please? what is the difference between "foo/" versus "/foo/" in a .gitignore file at the root of the working dir ?03:45
jrnieder regedit: man gitignore answers that in its cryptic way03:45
jast regedit: *automatic message* the 'gitignore' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=gitignore.html;hb=html>03:45
jrnieder "If the pattern ends with a slash, it is removed for the purpose of the following description"03:45
regedit yeah i read that03:46
cryptic indeed03:46
jrnieder "If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to..."03:46
"Otherwise, git treats the pattern as a shell glob" that is not relative03:46
regedit i can't make heads or tails of most of that..03:46
jrnieder which part?03:46
regedit in which case does it follow which rules, and what may those rules be..03:47
jrnieder case 1: no '/' in the pattern (except a possible '/' at the end of the line)03:47
regedit "for the purpose of the following description" meaning for the purpose of clarity in the man page itself?03:47
jrnieder case 2: '/' in the pattern (ignoring a possible '/' at the end of the line)03:48
regedit by "relative" you mean relative to the working dir?03:49
jrnieder well, the rest of the sentence answers that question03:49
relative to the directory containing the .gitignore file03:50
meh, I'm being deliberately dense here, sorry about that03:50
regedit :P03:50
jrnieder a better answer to your question would be, "the relevant piece of documentation is completely unclear"03:50
"git log -S'purpose of the following' Documentation/gitignore.txt" tells me it's Junio's fault03:50
"I'd suggest writing a patch that makes it clear but possibly wrong and sending it to [email@hidden.address] and then the kind people on that list can correct your patch and give a clear answer and update the documentation at the same time"03:51
regedit i couldn't even write a wrong patch even if i tried03:52
let alone clear03:52
jrnieder rats, I was about to say "that's great --- writing a right patch is even better" :)03:52
regedit hah03:52
niboshi left03:52
variable why does git-svn clone take _forever_ ?03:53
jrnieder anyway, the idea is that '*.jpg' will match jpeg files throughout the repository03:53
while '/*.jpg' will only match jpeg files in the toplevel directory03:53
if you want to match .jpg files in the Documentation/ directory and its subdirectories, you can use the pattern '*.jpg' in Documentation/.gitignore03:54
To match .jpg files in the Documentation/ directory/ and not in a subdirectory, you can use 'Documentation/*.jpg' in the toplevel .gitignore03:55
or '/*.jpg' in Documentation/.gitignore03:55
CpuID2 ok next… :) sorry for all the questions, whats the most sane way to check if a directory is a git repo?03:55
caseymcg left03:55
regedit jrnieder: i am copypasta'ing all of this into a personal man page for future ref03:55
niboshi joined03:55
jrnieder regedit: yay :)03:56
in case you missed it, that business about "that is not relative" up there was total nonsense03:56
regedit jrnieder: in fact, go right now and submit this patch "...that makes it clear but possibly wrong and sending it to [email@hidden.address] :P03:57
kerrick joined03:57
jrnieder hmph03:57
bindaasomatic joined03:57
jrnieder ok03:57
can I have your name and email to cc and for a Reported-by?03:58
regedit er wow are you serious? ok.....i guess..03:59
timmywil left03:59
jrnieder or I can credit you as "regedit on irc", that's fine, too03:59
regedit er, how do i pm..03:59
jrnieder /msg jrnieder hello03:59
aidenhong left04:03
regedit jrnieder: i believe any bit of useful info that anyone produces shouldn't go to waste in some irc log. if this little snippet about gitignore helps someone, it should be find'able for others too04:04
Fretta left04:05
regedit as such, one day bots should parse IRC logs and construct entire wikis out of 'em04:05
jrnieder heh04:06
jimubao left04:06
jrnieder maybe some day #git will be replaced by jast's bot on a web form and an "edit" button04:07
regedit hah - wait, edit button?04:07
jrnieder to change its responses04:08
regedit right04:08
is there such a thing as pulling down changes excluding specific files (possibly listed in the puller's .gitignores) ?04:09
or must a fetch/merge/pull be complete04:09
chrisf regedit: not that i know of.04:09
regedit so how can I possibly have the following workflow;04:10
chrisf regedit: you could do a merge, and then hand-resolve some files back to "your" premerge state.04:10
regedit: but that sounds like asking for pain.04:11
regedit 1) there is an upstream bare repo for pulling from and pushing to04:11
eeanm left04:11
regedit 2) repo 'foo' wants to pull with the exception of some files, and repo 'bar' wants to pull including those files04:11
eeanm joined04:12
regedit 3) profit04:12
any way of doing that?04:15
jrnieder regedit: which are these optional files?04:16
regedit jrnieder: Eclipse project files (.project, .buildpath, .settings/ folder etc)04:16
jrnieder oh, yuck, okay :)04:17
regedit developers who pull the repo should get those, but my production environment where the project (a php website) is deployed should not get those files04:17
niloc132 left04:17
jrnieder write a makefile that only deploys the files you want deployed?04:18
CannedCorn joined04:18
macUzer joined04:19
regedit er, frankly i'm not so familiar with make and such tools... primarily because this isn't really the kind of project you need to compile / build / install etc, it's an as-is php website04:19
cmn then you know you have PHP available on the server, write a script in PHP that does it04:19
regedit cmn: what script? when will it be executed?04:20
Kazii joined04:20
ArseneRei left04:20
cmn a deployment script to be executed whenever you want to deplay04:20
like on post-receive04:20
jpalmer regedit: he's telling you, git isn't the appropriate place for this. if you want to "deploy" things other than what is in git, you need to write teh appropriate deploy tools.04:21
kennethreitz joined04:21
jpalmer you can either write the logic into your existing php app (if these files exist, remove them) or you can write an actual deploy script that only deploys the files you want it to.04:22
cmn right, git is a VCS, so that's where the files are; in order to put the files in the right place, you need some sort of script that takes those files and puts them in the right place04:22
regedit_ joined04:23
regedit_ oops04:23
did i miss anything04:23
i was saying;04:23
that's the weird thing about an as-is php website project managed by git; there's no 'deployment' process / script. a simply checked out wroking dir is all the website needs to run04:23
cmn I was saying: git is a VCS, so that's where the files are; in order to put the files in the right place, you need some sort of script that takes those files and puts them in the right place04:24
regedit_ well this is news indeed...04:24
cmn you must have a deployment script, even if it consists just of 'GIT_TREE=/var/www/ git checkout -f'04:24
regedit left04:25
cmn so just add delete those files after you've copied them to the right place04:25
macUzer left04:25
crakdmirror left04:25
regedit_ cmn: but wouldn't I want to make use of the features of a VCS for my deployed website?04:25
it helps for example for hotfixes04:25
cmn you can make your deployment script be your post-receive hook04:26
regedit_ keeping track of 'em by merging deployment hotfixes back to the main upstream repo04:26
jpalmer regedit_: seriously, git is for maintainging your files. it's not your deployment toolkit.04:26
Chib left04:26
regedit_ jpalmer: see my last question then04:26
cmn regedit_: there's nothing stopping you; just make that script part of your post-receive hook04:27
then you can deploy on each push, just remember that it's not "git" doing it, it's whatever script you wrote04:27
regedit_ cmn: am googling about hooks now...04:27
jpalmer you can tie it in to your deployment toolkit, as cmn is explaining. but even for a 'simple web app' you should be using a deploy script, not git ;)04:27
eephillip left04:27
crakdmirror joined04:28
cmn jpalmer: many HOWTOs tell you to use 'GIT_WOKRTREE=/var/www git checkout -f' as a deployment script04:28
the line there is a bit blurry, I'd say04:28
EugeneKay Many HOWTOs are just plain wrong04:28
cmn no doubt about that04:28
regedit_ the git checkout -f just won't work for me actually04:29
as it does not perform deletions of removed files04:29
cmn ok, so you /do/ have a deployment script, however simple04:30
just delete whatever files you're not interested in04:30
regedit_ another reason i'd want to use git as my deployment versus manually scripting something - why should i copy extra data all over again for every new fix/enhancement? i'd want something like git to just update the changed stuff only04:30
cmn but git doesn't have any 'deploy' command, so you need to script it04:31
jpalmer regedit_: you're asking here. So my assumption is you want the advice from people who are experienced in these things. If that assumption is wrong, let me just say: it's your web app. and your code. Do with it as you please, even if that means ignoring great advice.04:32
regedit_ jpalmer: i was inviting anyone in the know to refute my arguments04:32
Turicas joined04:32
jpalmer and, we have.04:32
jrnieder now, now04:33
regedit_: how do you currently take care of deployment?04:33
jpalmer now the conversation is just starting to go in circles. you can write a deploy script.. or you can decide not to. but, I don't see a reason to keep asking the same questions04:33
regedit_ jrnieder: i'm still setting things up manually, trying to figure out the best workflow04:33
jrnieder I see04:34
the post-receive hook receives a list of ref updates for every push04:34
the githooks manpage says a little about this04:34
so if one of your requirements is that only the changed files get updated, you can use that information to find out what files changed04:35
regedit_ upon cmn's advice i'm looking to see whether some git hook can help me with the last-minute delete operations, which (sofar) is all i need to 'deploy'04:35
injekt left04:35
regedit_ right04:35
like i said, technically a plan-old checked out branch of this repo is (almost) all ready to go live04:35
it's just some files here 'n there i'd want to pluck out04:36
jrnieder sure, and that might be what you want to go with04:36
a plain git checkout, with some files plucked out04:36
as long as you're careful about the webserver configuration (so as not to serve the .git and so on), that can work fine04:36
ISF left04:36
jrnieder note, though, that git is not made for this04:36
for example, when it updates files in the worktree, it follows the order of operations (1) remove changed files (2) write their new content out04:37
if someone browses there between steps (1) and (2), 40404:37
madewokherd left04:38
Flogalen2 joined04:38
regedit_ what you are saying would appear to advise one *not* to use the git working tree as the actual deployment, but rather make some deployment script/process which should perhaps copy all the content elsewhere where it will be used/served/deployed04:39
to which i presented 2 arguments;04:39
Flogalen left04:39
bradj left04:40
regedit_ 1) hotfixes 2) git has built in functionality for only updating/changing exactly and only whatever actually changed, i contrast to traditional copy commands which have no idea about versioning and diffs. shouldn't i prefer this?04:41
jrnieder well, in response to (1):04:41
regedit_ *in contrast04:41
jrnieder I'm used to an edit/compile/test cycle when editing code04:42
cronin left04:42
jrnieder when changes to two pages have to happen together to make sense, it avoids ever deploying a broken intermediate state04:42
jacknagel joined04:42
jrnieder however, I can understand that avoiding the 'compile' step would save some time04:43
isn't it possible to serve a development copy of the page from the source repo?04:43
regedit_ a php website is a tiny bit different.. you can edit and test immediately (with a webserver running) and php files are rather independent units04:44
jrnieder: currenlty i was thnking of 3 repos on the server :D04:44
jrnieder ah, there are no separate development machines04:44
regedit_ the upstream dev, a "sqa" repo for testing, and a production repo04:44
jrnieder that is what I was missing04:44
regedit_ developers pull from the upstream dev repo04:44
and push changes to there04:45
jrnieder is sqa where the hotfixes happen?04:45
kukks left04:45
jrnieder ah, nvm, i'll let you finish :)04:45
regedit_ production is where hotfixes may happen04:45
(i'm done atm)04:45
jrnieder what is sqa for?04:45
angelsl joined04:46
variable jpalmer: poke04:46
regedit_ since the upstream dev repo is bare, the sqa (quality assurance) pulls from the bare dev repo in order to checkout and test04:46
jrnieder I see04:47
and devs get the eclipse metadata in addition to the production code04:47
regedit_ yes it would be ideal if developers pulled from the upstream dev repo which had the eclipse crap included04:47
beautifulmind joined04:48
regedit_ whereas by the time stuff reaches (sqa or for sure) production repo, those crap files should not be there04:48
jpalmer variable: stop poking me!04:48
variable jpalmer: may I pm you then?04:48
jpalmer I was joking ;) but sure.04:48
variable jpalmer: hehe.04:49
jpalmer fair warning: I'm headed to bed in like 15 though ;)04:49
jrnieder regedit: I would be tempted to not track the eclipse stuff in the repo at all04:49
to have a separate repo for that and a script that new devs get to grab it04:49
stickyboot joined04:50
jrnieder but I'm probably making some wrong assumptions here --- e.g., when you add a new file to the site, does the eclipse metadata have to change for that?04:50
if so, my separate repo idea would be a pain in the neck04:50
regedit_ jpalmer: http://www.youtube.com/watch?v=MXgr6SYYNZM&t=2404:50
Swimming_Bird left04:51
regedit_ jrnieder: i don't think the eclipse files change like that04:51
jrnieder: like when you add files or such04:51
jrnieder ah, that's good to hear04:51
regedit_ they do change of you modify some eclipse specific settings and paths etc04:52
*if you04:52
jrnieder do those change very often?04:52
are those even sharable?04:52
I guess all the devs have a similar working environment04:52
regedit_ actually, any changes that occur to those files - i don't ever want comitted / pushed to upstream04:52
jrnieder yeah, so then I'd suggest having a tarball (or git repo if they ever do change) with just those files04:53
and telling devs, "to get started, clone this repo and extract this tarball"04:53
regedit_ hmm...04:53
jrnieder .gitignore can ignore them04:53
regedit_ i see04:54
fpcfan left04:57
caseymcg joined04:58
fpcfan joined04:59
regedit_ ye i think i'll go with that jrnieder, devs will have to figure it out on their end... it's better this way, what if they don't like eclipse? ;)05:03
dna left05:03
kermit left05:05
kermit joined05:05
regedit_ jrnieder: let's examine another little part of our gitignore research (for the kernel.org patch) ;05:05
fpcfan left05:06
regedit_ jrnieder: you said quote "*.jpg will match jpeg files throughout the repository, while /*.jpg will only match jpeg files in the toplevel directory"05:06
jrnieder: is the same true for directories?05:06
fpcfan joined05:07
jrnieder yep05:07
a '/' at the end of a pattern just means "match directories only" and does not affect the pattern in any other way05:07
regedit_ will 'foo/' match any directory named foo, wherever this foo directory may be in the repo (/foo/, /dir1/foo/, dir2/dir3/foo/ )05:07
aha05:07
jrnieder but "foo" does not match a file named foo throughout the repo05:08
regedit_ what would be an example of "any other way"05:08
eephillip joined05:09
jrnieder in fact, I don't think it's possible to write a gitignore pattern that will match a file named foo throughout the repo05:09
d4rk1ink left05:09
jrnieder here, let me try something05:09
regedit_ wait really? that's weird..05:09
jrnieder no, you're right05:09
the documentation's wrong05:09
gah05:09
I think the only way I'm going to find the rules here is by looking at the code :/05:10
regedit_ or brute force testing? :)05:10
we should make a test repo, with all sorts of foo folders and bar files05:11
and .gitignore the hell out of it in every conceivable way05:11
jrnieder well, that's how I found out that you're right and the doc seems to be wrong...05:11
but dir.c is not so hard to read :)05:11
haseeb joined05:12
jrnieder anyway, to answer your question, yes, 'foo/' will match a directory named foo, wherever the foo is in the tree05:12
regedit_ wow awesome05:12
orafu left05:13
orafu joined05:13
regedit_ and 'foo' will match a file or folder? or both?05:13
jrnieder both05:13
if you want just files, use "foo" followed by "!foo/"05:13
regedit_ holy crap that is AWESOME05:13
it's a shame someone realy put good thought into .gitignore functionality, but didn't document it well..05:14
jrnieder yeah, thanks for the examples05:14
still working on the strawman manpage change :)05:15
regedit_ awesome :D please show me when it's ready05:15
or, will i get it to my email?05:15
codetroll left05:15
Chib joined05:16
Prasad joined05:17
dna joined05:17
the-fonz joined05:17
eephillip left05:18
EugeneKay I think its a shame gitignore doesn't do regex05:18
CannedCorn left05:18
the-fonz left05:22
OOPMan joined05:25
aspotashev joined05:27
jesteracer joined05:27
mattalexx joined05:31
regedit_ left05:35
Kazii left05:39
mattalexx I just made some changes in a detached-head submodule, committed them, cd'ed to the root of the parent repo, rand "git submodule update". When I went back to the submodule, my changes were gone and the commit was gone. Did it really just do that? Usually git will make you add -f somewhere in order to delete work..05:42
aspotashev| joined05:43
freimatz2 joined05:44
aspotashev left05:44
kevlarman mattalexx: your commit is still in the reflog of that submodule05:45
mattalexx: and since submodules always have a detached head, you shouldn't be developing in them05:45
mattalexx goes to google "reflog"05:45
kevlarman mattalexx: man git reflog05:45
jast mattalexx: *automatic message* the 'git-reflog' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=git-reflog.html;hb=html>05:45
EugeneKay mattalexx - submodules are supposed to be read-only, IIRC05:45
Don't work i them05:46
in them05:46
mattalexx kevlarman, Yes, I've heard that. But how should I work on them if I can't put them into a project and give them context?05:46
This one, for example, is a plugin. Without the parent repo, it doesn't work05:47
kevlarman mattalexx: 2 choices05:47
1) don't use submodules05:47
2) clone the repo on its own to do development on it05:47
( 1a) you may find git slave interesting)05:48
haseeb left05:48
mattalexx kevlarman, So everytime I need to test, I push from the standalone repo and pull from the submodule>05:48
?05:48
Thanks, I'll look into it05:48
mikepack left05:50
mikepack joined05:51
mattalexx kevlarman, Oh thank God for reflog. That was freaking me out a little bit.05:52
kevlarman mattalexx: git makes it *very* difficult to destroy your code accidentally05:52
mattalexx kevlarman, Yes, that's why I was only a little freaked out. I figured it would be somewhere.05:53
kevlarman, Plus I was using git add -p to add my changes, and the diff was still in my CLI scrollback buffer as a last resort.05:54
f00li5h mattalexx:05:54
mattalexx f00li5h, Yes?05:54
f00li5h o_O05:54
sorry, mistab05:54
mikepack left05:55
phaedrix joined05:55
aspotashev| left05:59
ziggles left06:00
hwrdprkns_ joined06:00
hwrdprkns left06:01
jacknagel left06:01
hwrdprkns joined06:01
tiglog joined06:04
hwrdprkns_ left06:05
hwrdprkns_ joined06:07
d4rk1ink_ joined06:07
w09x joined06:07
marthinal joined06:08
ThomasLocke joined06:09
dSebastien joined06:09
beautifulmind left06:09
hwrdprkns__ joined06:09
dSebastien left06:10
hwrdprkns left06:10
airborn joined06:11
drake01 joined06:12
subbyyy left06:12
hwrdprkns_ left06:13
neurodrone left06:14
eno left06:17
lunchub left06:19
eno joined06:19
sangeeths left06:21
lunchub joined06:22
Dave^| joined06:25
harsh joined06:27
baburdick left06:28
gianlucadv left06:29
Prasad left06:29
nyuszika7h joined06:31
sangeeths joined06:33
codetroll joined06:34
TrineLocke joined06:34
Prasad joined06:35
Prasad left06:35
ketas-ts joined06:36
gigamonkey left06:36
Prasad joined06:36
harsh left06:37
drev1 left06:40
alc left06:41
Turicas left06:43
Turicas joined06:43
ceej left06:44
shruggar joined06:45
Cogito left06:47
Cogito joined06:47
flyz_ joined06:48
na3r joined06:49
slonopotamus joined06:50
harsh joined06:51
Turicas left06:52
harsh left06:52
__main__ left06:54
mishok13 joined06:56
__main__ joined07:03
ouyes left07:04
harshpb joined07:05
shruggar left07:06
hwrdprkns joined07:10
stoffus joined07:12
vdv joined07:12
spyrawaynapdragon07:12
TheMoonMaster_ left07:13
slonopotamus left07:13
hwrdprkns__ left07:13
hwrdprkns left07:15
hwrdprkns joined07:17
amigojapan joined07:17
artib joined07:18
qian_pc joined07:18
ouyes joined07:20
cbreak-work joined07:20
mishok13 left07:22
lunchub left07:24
meebey joined07:24
stodan joined07:25
aidenhong joined07:26
ReekenX joined07:29
psoo joined07:29
psoo left07:29
nicoulaj joined07:31
dreiss left07:32
henrikbjorn joined07:35
qian_pc left07:39
caseymcg left07:39
flijten joined07:39
imarcusthis left07:39
amigojapan left07:40
Prasad left07:42
the-fonz joined07:43
jceb joined07:43
ph^ joined07:44
quadz left07:45
lnostdal_ left07:46
GeorgeSebastian joined07:47
Prasad joined07:47
mishok13 joined07:49
Chib left07:50
dangerousdave joined07:52
ph^ left07:52
dangerousdave left07:52
lnostdal_ joined07:52
ph^ joined07:53
GeorgeSebastian left07:53
Praise left07:54
Praise joined07:54
vdv left07:56
airborn left07:56
mishok13 left07:57
ipalaus_ joined07:57
flyz- joined07:59
ph^_ joined08:00
artib left08:00
dkannan|awaydkannan08:01
Turicas joined08:01
flyz_ left08:02
nax joined08:03
dc5ala joined08:04
ph^ left08:04
vdv joined08:05
GeorgeSebastian joined08:06
drake01 left08:10
alecthegeek left08:11
dkannan left08:12
qian_pc joined08:13
dkannan joined08:13
jhoepken joined08:13
qian_pc left08:13
artib joined08:14
mishok13 joined08:15
lut4rp joined08:15
lut4rp left08:15
lut4rp joined08:15
lnostdal_ left08:15
qian_pc joined08:15
ngulden joined08:15
saschagehlich joined08:17
berserkr joined08:18
opalka joined08:19
opalka left08:19
opalka joined08:19
qian_pc left08:21
lut4rp left08:22
JohnBat26 joined08:22
Dave^|| joined08:22
RaceCondition joined08:23
lut4rp joined08:23
lut4rp left08:23
lut4rp joined08:23
gerard0 left08:24
jamiemill joined08:25
Dave^| left08:25
garrys_game joined08:26
rendar joined08:26
heliom joined08:27
stickyboot left08:27
RaceCondition left08:28
lnostdal_ joined08:29
eijk joined08:29
Codif joined08:29
harshpb left08:30
heliom_ left08:30
cooloney left08:31
flyz- left08:32
alansaul joined08:32
cooloney joined08:32
Prasad left08:33
jamiemill left08:33
Prasad joined08:33
qian_pc joined08:34
qian_pc left08:34
qian_pc joined08:35
psoo joined08:36
_kud joined08:36
teweWork joined08:36
jmah joined08:37
childbear joined08:45
Sitethief joined08:46
Spockz joined08:46
harshpb joined08:47
_Qman joined08:50
pixelboy_ joined08:51
safinaskar joined08:51
wbednarski joined08:52
thiago joined08:54
ziro` left08:55
marekw2143 joined08:55
ziro` joined08:56
psakrii joined08:56
marekw2143 hi, doing git add . does add all directories but no their subdirectories/subfiles08:57
mitsuhiko left08:59
thiago are those subdirectories ignored?08:59
marekw2143 thiago: no, my .gitignore has only one line: lib/09:00
jrnieder marekw2143: pastebin it and someone might have ideas09:01
shruggar joined09:01
thiago marekw2143: and the subdir in question isn't lib?09:01
marekw2143 no09:01
freimatz2 left09:03
jrnieder hm, let's see if this works: !repro09:03
jast hm: *automatic message* please paste (e.g. using http://git.pastebin.com/) a transcript of your terminal session in which the problem occurred so that we can troubleshoot more easily.09:03
jrnieder ah, yay09:04
cbreak-work marekw2143: type git status09:04
marekw2143 http://paste.ubuntu.com/730798/09:04
cbreak-work does it show the directories you want to add but are not added as untracked?09:04
BlindOracle left09:04
hurikhan|Work joined09:04
jrnieder ah, submodules09:04
nudb2 joined09:05
marekw2143 so both dirs: django-starter and django_jsonservice are added to repo, but their content isnt09:05
babilen left09:05
jrnieder I don't think git add --recurse-submodules exists yet09:05
anyone know a good submodule tutorial?09:05
cbreak-work it makes no sense to recurse into submodules09:06
jrnieder sure it could09:06
mklappstuhl joined09:06
jrnieder git add --recurse-submodules would have to auto-commit or something, though09:06
marekw2143 but it's such a common thing adding recursively all files/dirs - how to acheive that?09:06
jrnieder it would be weird09:06
thiago no09:06
not with submodules09:06
cbreak-work it makes no sense09:06
padams joined09:06
cbreak-work submodules are separate repositories09:06
they have a separate index09:06
everything about them is separate09:07
marekw2143 it's strange09:08
thiago yes, it is09:08
marekw2143 because when I entered into one directory, and then did: git add .09:08
thiago but that's how it is09:08
marekw2143 then, all subdirectories and subfiles of that dir were added09:08
why didn't it do at first add ?09:08
jrnieder markew2143: submodules are an odd beast09:08
my advice is to learn about them first09:09
marekw2143 why submodules?09:09
jrnieder because your repository has submodules09:09
they are not just subdirectories09:09
marekw2143 ohh, true !09:09
I've forgotten - my subprojects have separate .git directory, yes09:10
cbreak-work everything about them is separate09:10
Prasad left09:11
Prasad joined09:11
ReekenX left09:11
phluks joined09:12
kriegerod joined09:12
marekw2143 uff, thank you all for help09:12
alansaul left09:12
w09x left09:12
_md joined09:13
Prateekchy joined09:15
ReekenX joined09:15
marekw2143 do you know some public free git server which allows private repositories (not visible to others)?09:16
whitman joined09:16
lnostdal_ left09:17
phluks marekw2143: www.assembla.com - though I dont have extensive experience with it.09:17
m1sc marekw2143: bitbucket?09:17
marekw2143 ooo, nice09:17
BlindOracle joined09:17
marekw2143 which one is better ?:)09:17
Shusshu joined09:18
beautifulmind joined09:19
yann2 left09:19
drake01 joined09:20
freimatz2 joined09:21
_kud left09:22
phluks bitbucket looks shinyer :)09:23
PigeonFriend joined09:24
gusnan joined09:25
babilen joined09:28
marekw2143 yeah, and I think it's more reliable than assembla in offering free plan09:29
ReekenX left09:30
Prateekchy left09:32
ReekenX joined09:32
_kud joined09:32
Trezker joined09:34
canton7 joined09:34
khmarbaise joined09:37
achadwick joined09:37
the-fonz left09:37
envi_ joined09:38
jamiemill joined09:38
evildmp joined09:39
tvw joined09:40
iknite joined09:40
ReekenX left09:41
solofight joined09:42
muv joined09:42
solofight people git not available for mac os lion version ? http://code.google.com/p/git-osx-installer/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+Size+DownloadCount+UploadedBy09:42
or am i looking at the wrong place ?09:43
tatsuya_o joined09:43
rue Homebrew, at least09:43
alecthegeek joined09:44
solofight rue, @ me ?09:44
ReekenX joined09:44
rue solofight: Ah, yes. Dunno about other methods09:45
thiago solofight: install the snow leopard one09:45
dharrigan joined09:46
dharrigan left09:46
dharrigan joined09:46
Codif left09:46
harshpb left09:46
solofight thiago: you mean the same dmg file for snoe leopard will work for lion as well ?09:46
canton7 left09:46
thiago solofight: yes09:46
Codif joined09:46
thiago solofight: "snowleopard" in the name indicates the minimum version09:46
solofight thiago: oh, ok ! but shouldn't it say that snowleopard and above or something like that !09:47
thiago in the file name? no09:47
dr_lepper joined09:47
dr_lepper left09:47
dr_lepper joined09:47
brian_g joined09:48
solofight thiago: people get confused because there is a installer for leopard and then snow leopard which makes them look for a installer for lion09:48
?09:48
jrnieder left09:48
fisted_ left09:49
harshpb joined09:49
thiago I don't see an installer for leopard and one for snow leopard, for the same Git version09:49
solofight thiago: ohhhh09:50
thiago they're all Leopard, except for the ones from the past 4 months09:50
solofight thiago: are you a mac user ? one can upgrade their OS for free of charge ? or it costs ?09:50
thiago I'm not a Mac user09:51
solofight thiago: ok thank you very much for the help. will try what you have sugested09:52
fisted joined09:52
solofight thiago:++09:52
thiago: ++09:52
replore left09:52
solofight Gitzilla: thiago ++09:52
iPHP joined09:52
solofight :(09:52
sitaram solofight: http://www.stickycomics.com/computer-update/09:53
solofight thank you rue09:53
hey sitaram :) thats a good one09:54
Praise left09:54
bonhoffer joined09:54
Praise joined09:55
eean left09:55
solofight sitaram: good site btw, thanks for letting me know09:56
solofight taking a break and browsing more comics @ stickycomics09:56
eean joined09:57
Silex-Silex09:58
sitaram :)09:59
EugeneKay Sneeze10:00
akamike joined10:01
kalusn joined10:01
glcrazy joined10:02
glcrazy_ joined10:02
endy_c joined10:03
drake01 left10:03
xiehong left10:04
endy_c What is the pro/con of using SSH compared to HTTPS?10:04
alecat joined10:04
thiago endy_c: ssh works10:04
qian_pc left10:04
wereHamster both work10:04
thiago using the new magic http, yes10:05
the old dumb transport was really bad10:05
FauxFaux endy_c: SSH is likely to be significantly easier to set-up, especially if you already have unix aware users.10:06
opalka left10:06
cmn if your uses don't know about SSH and SSH keys, then HTTPS might be easier for them, because they just have to remember a user/pass combination10:07
endy_c ok got it, thanks all10:07
nevyn cmn: if you have a smallish number of users. then just setting it up for them is probably less grief than dealing with passwords10:09
I really hate passwords10:09
nudb2 left10:09
ReekenX left10:09
ReekenX joined10:09
cmn sure, if you can go around the office and do it for them and then tell them it works magically, that might be the easiest option10:10
solofight nevyn: i can manage them for you :)10:10
opalka joined10:10
solofight cmn: cant you route all the ssh requests with a same key or something ?10:11
FauxFaux We have both SSL client certs and ssh keys here. Explaining to users that there's two different kinds of magic and only one of them breaks on a regular basis (the SSL ones, obviuosly) is great fun.10:11
solofight exploring the possibility of routing an ssh request via a middleman10:11
cmn solofight: set up the same key for all users? sure, but then you can't use permissions10:11
solofight cmn: then identify the key based on their system login id and attach them dynamically with their ssh request10:12
?10:12
using username and password is not recommended by several experts10:12
when it comes to ssh10:13
cmn that sound extraordinarilly contrived; you want to MITD all your users so you can dynamically allocate them a key?10:13
MITM*10:13
solofight endy_c: howd you even compare ssh with https !10:14
nevyn FauxFaux: we don't do certificate or key management very well at a organisational level10:14
we're barely competent at password management10:14
guardian joined10:14
EugeneKay Post it notes under keyboards ftw10:14
cmn solofight: oh, I see, you want to have them login to a computer with user/pass and that computer would have their "real" keys in it... I don't think that would solve the problems with SSH passords10:15
solofight cmn: yeah the level of stupidity/usability depends on your situation10:15
wanders left10:15
solofight correct10:15
guardian hello, i'm using git rebase -i to edit a commit. how can i undo commited changes with git ammend? i'm trying to edit a commit so that commit doesn't modify a file but i want to keep other changes10:15
FauxFaux nevyn: Basically the only benifit of an enterprise (1,000+ person) organisation is that you have to not have your entire IT team spending their entire life on passwords. And then they have a Domain and misconfigure it, woop.10:15
solofight cmn: why not ?10:15
endy_c solofight: I have this option for accessing bitbucket10:16
FauxFaux guardian: 'e'dit the commit, checkout HEAD # to revert the file you don't want, then rebase --continue.10:16
nevyn FauxFaux: dude.. I work for a 60,000 seat organisation10:16
_kud left10:16
FauxFaux Pwned.10:16
thiago guardian: git reset -p HEAD~10:16
nevyn FauxFaux: user passwords are under control it's passwords for things like root, oracle, and tibco that suck10:16
guardian git reset -h HEAD~ path/to/file would work?10:17
git reset -p HEAD~ path/to/file would work?10:17
sorry for typo10:17
thiago guardian: yes10:17
solofight endy_c: oh so you mean advantages of using ssh over https or vice versa when it comes to pushing code to a server.. ?10:17
thiago if it's the entire file, you can drop the -p10:17
endy_c solofight: yep10:17
guardian it's the entire file10:17
thiago guardian: reset it like that, commit --amend10:18
guardian: then decide what to do with the changes10:18
envi_ left10:18
cmn thiago: they'd still have to use a password, which makes it attackable from a package-timing front10:19
thiago cmn: they who?10:19
cmn your users10:19
thiago doesn't have users10:20
Chib joined10:21
cmn thiago: sorry, I meant solofight10:21
solofight endy_c: i think turn around time comes into play. stay here for deep view point from experts10:21
alansaul joined10:21
guardian thiago: thx; would have FauxFaux suggestion worked as well?10:21
thiago guardian: no10:21
teukka left10:22
teukka joined10:22
thiago guardian: revert would have created a new commit10:22
guardian: unless you rebase again and squash the two commits together10:22
guardian ok thx10:23
i didn't want a new commit; just rebase -i and remove a file's changes before push10:23
_kud joined10:23
aidenhong left10:25
solofight cmn: cant you make them as thin clients who logs into a central machine the moment they switch on and then they connect through ssh from that machine ?10:26
cmn: if i understood your problem correctly ^10:26
endy_c solofight: yep, will definitely stay around to listen10:26
cmn that wouldn't help against the timing attacks10:26
when you use a password with SSH, it sends a packet for each letter (because humans are slow) so looking at the time difference between those packets, you can reduce which passwords they may be using10:27
solofight reading more about time attacks10:27
thiago no it doesn't10:27
well, not the login password10:28
if it's *after* the connection was established, then yes, one packet per letter10:28
cmn hm, I thought I read that some people had managed to do this with the SSH login pw10:28
solofight cmn: nooo, am talking about using an rsa key with 1024 or 2048 bits for ssh10:28
cmn ah, right, you want them to use that and change that key from under them at some point10:29
mrsrikanth joined10:29
thiago the login password isn't sent until you press the Enter key10:29
solofight thiago: a typical example of what you said - sudo ing in the remote machine after gaining ssh access as normal user ?10:29
thiago solofight: yes10:30
solofight thiago: aint the communication encrypted ?10:30
thiago solofight: it is10:30
FauxFaux "OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011" doesn't send a packet until you return the password here, cmn, according to wireshark.10:31
MacGyverNL left10:31
cmn thiago: ok, the internet says you're right :) it looks like I misunderstood the attack10:31
solofight lets say for each character user has pressed the encryption algo sends 1024 bits => aint that a huge number to decode to guess a password ?10:31
thiago it is10:31
I never claimed you could decrypt the session10:31
that was cmn10:31
solofight alright10:32
cmn I didn't say you could decrypt the session, I thought you could guess the password10:32
FauxFaux solofight: The implication is that you can work out how much stuff someone is typing in by how many packets there are; which you certainly can with my irssi setup.10:32
thiago a "timing attack" could try to guess the password from the timing of the packets, applying some heuristics based on how fast you can type it10:32
cmn (which does sort-of amount to the same...)10:32
solofight so cmn timing attack are useless even performed unless they are using a super computer to decrypt your codes10:32
FauxFaux solofight: a) Supercomputers can't even remotely break any sensible encryption algorithm, as far as we know. b) No, any information about anything counts as a cryptographic breach.10:33
solofight FauxFaux: ok so its going to be a guess with hell lot of possibilities... what happens after that ?10:33
cmn solofight: no, because the timing of the packets (after logging in) put together with a typing heuristic gives you a smallish (relatively) amount of keypresses that the user might have done10:34
MacGyverNL joined10:34
MacGyverNL left10:34
MacGyverNL joined10:34
FauxFaux solofight: I only use three passwords, either 'a', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' or 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'. My username is [email@hidden.address] and I use ssh. You have one attempt to get the right password, or I'll shoot you in the head. What do you need?10:34
evildmp left10:35
solofight FauxFaux: number of key strokes10:35
Vile joined10:36
FauxFaux Which, if ssh wasn't implemented sensibly, you could get via. this timing attack, without breaking the encryption, right?10:36
sweb joined10:36
Wooga joined10:36
solofight If i know the pool of possible values - yes ?10:36
FauxFaux Exactly.10:37
In fact, you can probably get it even with the current ssh implementation, as the time taken to type the longer password is significant and it's obvious when the communication is paused for password exchange.10:37
cbreak-work FauxFaux: http://www.huffingtonpost.com/2011/10/27/iphone-4-accelerometer-spy_n_1035193.html10:37
sidechannel attacks ftw10:37
FauxFaux Genius. My favourite recent one was that recent SCHNEEEIR post about usb ports.10:38
cmn nice10:38
marekw2143 left10:38
solofight FauxFaux: but how does a attacker get the possible list of values ? by tracing the users activities online or something ?10:38
NetHawk joined10:38
cbreak-work http://www.schneierfacts.com/?10:38
cmn I remember some people managed to do the same by pointing a laser to a laptop screen, this is cooler10:38
bonhoffer left10:39
solofight googling for irssi setup which FauxFaux mentioned10:39
FauxFaux cbreak-work: http://syhw.posterous.com/two-amusing-side-channel-attacks10:40
nudb2 joined10:41
TAsnw joined10:41
w0bni joined10:42
wanders joined10:42
cbreak-work neat10:42
if they had used FireWire, they could have just read the key schedule and so on out of the memory...10:42
solofight FauxFaux: where do you get all these updates ? i mean is there a single source to update myself ?10:42
FauxFaux Tee hee.10:42
cbreak-work schneier has a newsletter10:42
FauxFaux And a blog that posts significantly faster than I can search it for stories.10:43
solofight cbreak-work: http://www.schneierfacts.com/ or this http://syhw.posterous.com10:44
wbednarski left10:44
FauxFaux SPEAKING OF SECURITY, WHERE'S MY SHA-256 PORT OF GIT?10:44
TAsnw hey guys. I have an svn repo, and a public git svn checkout. Is it possible to pull from the public git-svn checkout and then git svn dcommit from my copy? It feel non trivial because the commit hashes are different (different checkout paths, the public http:// vs my ssh+svn://). Has anyone stumbled across anything similar? Thanks.10:44
FauxFaux You can fetch then rebase --onto or cherry-pick the commits across, but there's no automation assistance afaik.10:45
khmarbaise left10:45
solofight thanks guys for knowledge upgrade :)10:46
good day to all10:46
TAsnw FauxFaux, I'm trying to avoid the initial fetch from svn10:46
which is super slow10:46
solofight left10:46
TAsnw because git-svn iterates over all the commits.10:46
jorn joined10:46
jorn hiho, i'm stuck in a 100 % cpu git pull... any idea what to do?10:47
Praise left10:47
Praise joined10:48
jorn oh ah, it just finished... still weird, took 5 minutes for a 21 mb repo!?!10:49
sweb what is problem : ssh_exchange_identification: Connection closed by remote host10:49
fatal: The remote end hung up unexpectedly10:49
?10:49
cmn jorn: do you have many references?10:49
empity joined10:50
alecthegeek left10:50
jorn cmn: 110:50
so i'd say no10:50
cbreak-work sounds like ssh/network problems10:51
tiglog left10:51
Kazii joined10:51
cmn jorn: that's odd; that kind of thing tends to happen with many branches/tags; next time it happens, try to attach gdb10:51
jorn cmn: could the problem be caused by very many small files?10:53
(the other guy checked in the whole eclipse .metadata folder)10:53
cmn could be, are you runnign on NFS or some other slow FS?10:53
Ashfame joined10:53
Praise left10:54
Praise joined10:54
jorn locally10:55
clone also takes very long10:55
i attached gdb, what then?10:55
Turicas left10:56
cmn if it's a recent-ish git, it could be due to git checking that all is connected, which could take a long time with many new objects10:56
jorn: when it runs at 100% CPU again, look at the backtrace10:56
jorn (get a lot of warnings that no debug info is available, as not compiled in)10:56
alecthegeek joined10:56
cmn you'll get that if you're using the binaries from your distro10:56
Ashfame left10:57
jorn close() <- write_entry() <- checkout_entry() <- unpack_trees() <- cmd_clone() <- handle_internal_command() <- main()10:58
Chib left11:00
Chib joined11:01
pimpin joined11:01
pimpin Iop11:01
Someone to give an hand to a beginner please ?11:02
workmad3 joined11:02
cmn jorn: hm, it looks like it's doing the checkout there11:03
tiagobutzke joined11:03
pimpin My issue could come from the old GIT version (1.4.4.4) installed in the server I use11:03
EnderMB joined11:03
pimpin but I can't update it11:04
FauxFaux pimpin: WHAT IS THE NATURE OF YOUR GIT EMERGENCY?11:04
alnewkirk left11:04
iknite left11:04
pimpin FauxFaux: not a real emergency11:04
DarkAR joined11:05
cmn you still haven't told us what's wrong11:05
EnderMB Hey all. I have a bunch of settings files and folders that I want to ignore, all with a full-stop as a prefix (e.g. .settings, .logs, etc). I see that it's easy enough to stop a file with a certain extension, but how do I ignore all files and folders with a certain prefix?11:05
pimpin just a problem I can't solve since this morning11:05
FauxFaux EnderMB: Wildcards work anywhere, '.*' will be fine.11:05
EnderMB FauxFaux: Awesome, thanks for the help!11:06
cmn jorn: if you check at different times, you might see a pattern (or the 'perf' tool)11:06
pimpin yes sorry… tks for helping me.11:06
nudb2 left11:07
FauxFaux pimpin: Arrrrgh! Your question is entirely useless. Fill in the blanks: "I tried [X] in [Y]. I got [A] but I was expecting [B]. The simplest way I can think to reproduce this is [C]." Reply on one line. If it doesn't fit, use a pastebin. Do not even think of speaking before fully filling in the question.11:07
wbednarski joined11:07
setmeaway joined11:08
noisebleed joined11:09
noisebleed left11:09
noisebleed joined11:09
pimpin I clone a rep, make changes, commit on local, push and look at my files pushed : they are unchanged. -> I look at log and see my commit well pushed but my files are already overwritten on the server with the old version.11:10
FauxFaux pimpin: You're pushing to a non-bare repository?11:10
RichiH left11:10
pimpin that could be right, I do not specify option when creationg repo11:11
FauxFaux Pushing to a non-bare repository is discouraged as it makes no sense because it makes it look like your files are unchanged; it's not even worth working out why, just don't do it.11:11
pimpin I look for this option in the doc11:11
FauxFaux man git init11:12
jast *automatic message* the 'git-init' manpage can be found at <http://git.kernel.org/?p=git/git.git;a=blob_plain;f=git-init.html;hb=html>11:12
FauxFaux Except that the bot is broken. (jast)11:12
pimpin tks U very much FauxFaux11:12
pidus joined11:13
iknite joined11:13
pimpin is ti possible to transform my repo in a bare one ?11:14
FauxFaux git clone --bare oldrepo oldrepo.git11:14
pimpin Tks11:15
cenuij left11:17
soc42 joined11:17
JohnBat26 left11:20
sattu94 joined11:23
drev1 joined11:23
Aaaarg joined11:24
louiz (I like how pimpin managed to tell us 4 times that he had something to tell us, without ever telling what it is)11:24
FauxFaux This is why that alias exists. (/argh) :)11:24
pimpin Sorry I'm not used to IRC… and wondered if it was the right place to ask help for beginers11:24
pfsmorigo joined11:24
louiz aha, that’s an alias :D I thought that you were very comprehensive and took a lot of your time to write this sentence :D11:25
rendar left11:25
cmn there's also !ask11:25
FauxFaux No, it comes up much more frequently than you'd think. ¬_¬11:25
jast *automatic message* yes, it's okay to ask questions here... in fact, you just asked one! ;) Pretty much any question is fine. We're not terribly picky.11:25
louiz :)11:25
torarne left11:25
kimico left11:25
elyob left11:25
cmn there's also !ask11:26
jast *automatic message* yes, it's okay to ask questions here... in fact, you just asked one! ;) Pretty much any question is fine. We're not terribly picky.11:26
cmn sorry, wrong window11:26
pimpin tks guys11:26
louiz you’re welcome :o11:26
pidus I had made some changes to a file, committed and tried to push, forgetting to pull. There were conflicts, I fixed them, tried to push again but now it neither lets me push - 'To prevent you from losing history, non-fast-forward updates were rejected11:26
Merge the remote changes (e.g. 'git pull') before pushing again', nor pull - You have not concluded your merge (MERGE_HEAD exists).11:26
Please, commit your changes before you can merge, nor commit - 'fatal: cannot do a partial commit during a merge.'.11:26
ipalaus_ left11:26
ipalaus_ joined11:27
louiz did you add the file that were resolved from the conflict?11:28
drev1 left11:28
gwasshoppah joined11:28
jmah pidus: did you commit after fixing the conflicts?11:28
louiz he said he cannot commit11:28
jorn left11:29
jmah ah11:29
cybersphinx joined11:29
bauruine left11:30
jmah pidus: add your resolutions, commit, then push.11:30
elyob joined11:30
pidus left11:31
pidus_ joined11:31
pidus_ left11:31
pidus_ joined11:31
the_cybersphinx left11:31
louiz pidus_: are you there?11:31
pidus_ sigh…my connection had died. Wonder if I missed a reply11:31
ph^_ left11:31
alecthegeek left11:32
louiz +louiz | did you add the file that were resolved from the conflict?11:32
and11:32
jmah | pidus: add your resolutions, commit, then push.11:32
pidus_ louiz: I did do an add11:32
louiz hrm11:32
pidus_ and when I do commit it says "fatal: cannot do a partial commit during a merge."11:33
wanders left11:33
alansaul left11:33
akamike left11:33
dr_lepper left11:33
nax left11:33
meebey left11:33
stoffus left11:33
kerrick left11:33
wks left11:33
CpuID2 left11:33
frogonwheels left11:33
Ingmar left11:33
Samoi left11:33
[M]ax left11:33
stamina left11:33
Samual left11:33
dwmw2_gone left11:33
iivvoo left11:33
Daniel0108 left11:33
avtobiff left11:33
phix left11:33
SethRobertson left11:33
jspiros left11:33
milli left11:33
oso96_2000 left11:33
gebi left11:33
armenb left11:33
Dreamer3 left11:33
twem2_ left11:33
plopix left11:33
twem2 left11:33
pasky left11:33
necromancer left11:33
tokkee left11:33
Tianon left11:33
zibri left11:33
Bombe left11:33
AlexanderS left11:33
ruskie left11:33
EugeneKay left11:33
Ratler left11:33
JeffJohnson left11:33
quentusrex left11:33
ketas left11:33
IcePic left11:33
lamont left11:33
nevyn left11:33
deever left11:33
Cerise left11:33
chrisf left11:33
aeris- left11:33
comawhite left11:33
Xeross left11:33
Aikar left11:33
jeremy_c left11:33
cwillu_at_work left11:33
kanru left11:33
jeffhung left11:33
xou left11:33
cbz left11:33
Fissure left11:33
wolfric left11:33
fahadsadah left11:33
shachaf left11:33
Caelum left11:33
wereHamster left11:33
RichardBronosky left11:33
ciaranm left11:33
mike_perdide left11:33
tuxx- left11:33
Kiall left11:33
LotR left11:33
district left11:33
rdz left11:33
zykes- left11:33
joschi left11:33
jfkw left11:33
cantoma left11:33
madduck left11:33
awx left11:33
prudhvi left11:33
jakob left11:33
dsop left11:33
bfrog left11:33
Fiouz left11:33
tg left11:33
GeorgeSebastian left11:33
louiz wow11:33
CpuID2 joined11:33
CpuID2 left11:33
CpuID2 joined11:33
jmah you didn't do enough adding then11:34
Samual joined11:34
jmah check "git status"11:34
Dreamer3 joined11:34
ponch joined11:34
elyob left11:34
flijten left11:35
Samoi joined11:35
Samoi left11:35
Samoi joined11:35
shruggar left11:35
Bombe joined11:35
envi_ joined11:35
frogonwheels joined11:36
pidus_ jmah: You are right "On branch master # Your branch and 'origin/master' have diverged, # and have 1 and 15 different commit(s) each, respectively." But I never touched the files that it says require commit11:36
cmn pidus_: don't try to commit just the one file, that won't wokr11:36
jeffhung joined11:36
pidus_ cmn: you mean, do -a11:36
cmn sort of11:36
_aeris_ joined11:36
jmah or just "git commit"11:36
deever joined11:37
armenb joined11:37
meebey joined11:37
xou joined11:37
phix joined11:37
Aikar joined11:37
pidus_ so, are these 15 files the ones that i fetched after trying to push11:37
bfrog joined11:37
cbz joined11:37
bfrog left11:37
bfrog joined11:37
cmn if git diff gives you something you like (preferably nothing), then add -u then commit11:37
Fiouz joined11:37
gebi joined11:37
district joined11:37
jfkw joined11:37
stamina joined11:37
mike_perdide joined11:37
nevyn joined11:37
wereHamster joined11:37
ciaranm joined11:37
jeremy_c joined11:37
IcePic joined11:37
pasky joined11:37
twem2 joined11:37
wolfric joined11:37
Caelum joined11:37
nardev joined11:38
tokkee joined11:38
dsop joined11:38
pidus_ cmn: git diff doesn't give me anything11:38
cmn those files would be the ones that are different between your branch tip and the remote's branch tip11:38
Guest93405 joined11:38
dr_lepper joined11:38
dr_lepper left11:38
dr_lepper joined11:38
Fiouz left11:38
tuxx- joined11:38
zibri joined11:38
cmn then add -u should be what you need11:38
Fiouz joined11:38
tatsuya_o left11:38
Fiouz left11:39
RichardBronosky joined11:39
Fiouz joined11:39
kanru joined11:39
alecthegeek joined11:39
floubidou joined11:39
Fiouz left11:39
Fiouz joined11:40
Fiouz left11:40
Praise left11:40
jakob` joined11:40
Kiall joined11:40
Fiouz joined11:40
pidus_ cmn: But the commit shows changes to those 15 files, something that I didn't do and wouldn't want to show in the commit :(11:40
tatsuya_o joined11:40
canton7 joined11:41
Fiouz left11:41
akamike joined11:41
AlexanderS joined11:41
dwmw2_gone joined11:41
Praise joined11:41
tg joined11:41
fahadsadah joined11:41
floubidou left11:41
Fiouz joined11:41
stoffus joined11:42
twem2_ joined11:42
Xeross joined11:42
joschi joined11:42
cmn what do you mean by "shows changes"11:42
shachaf joined11:42
Lucio85 joined11:42
lamont joined11:42
tatsuya_o left11:43
milli joined11:43
comawhite joined11:43
tatsuya_o joined11:43
EugeneKay joined11:43
Cerise joined11:43
Lucio85 left11:43
pidus_ cmn: it shows delete/modified/new on a number of files that I never touched. I guess this is because I tried to commit and push to remote repo without doing a pull.11:44
cmn if the push didn't succeed, it didn't change anything anywhere11:44
kimico joined11:44
cmn that output might come from the merge11:44
safinaskar left11:45
cmn I don't remember right now exactly what commit tells you when you commit a merge. Does 'git show' show any output?11:45
alecthegeek left11:45
JeffJohnson joined11:45
JeffJohnson left11:45
JeffJohnson joined11:45
Dave^| joined11:45
plopix joined11:45
soc42 left11:45
sanduz2 joined11:45
prudhvi joined11:46
ketas joined11:46
madduck joined11:46
ruskie joined11:47
pidus_ cmn: show shows a single commit - 'Merge remote-tracking branch 'origin/master'' and "Conflicts" in the one file where there was a conflict before add11:47
quentusrex joined11:48
quentusrex left11:48
quentusrex joined11:48
pidus_ cmn: Can i revert this commit, and do another merge and push (this time without the conflict)11:48
cmn 'show' only ever shows one commit; if it doesn't show a diff for anything other than the conflicted files, you're fine, you can push11:48
nax joined11:48
rdz joined11:48
cmn the conflict will still be there11:48
Ratler joined11:48
wks joined11:48
awx joined11:48
cantoma joined11:48
harshpb left11:49
happylife joined11:49
cmn with git reset --hard HEAD^ you can put the worktree, index and HEAD to the commit before the merge11:49
ponch left11:49
cmn but if you merge again, it will still conflict11:49
LotR joined11:49
pidus_ and what with the 'Merge remote-tracking branch 'origin/master'?11:49
heptadecagram left11:49
GeorgeSebastian joined11:49
Fissure joined11:49
Praise left11:50
Praise joined11:50
SethRobertson joined11:51
pidus_ this never appeared in a commit.11:51
EricInBNE left11:51
artib left11:51
cmn have you ever done a merge before?11:51
artib joined11:51
neurodrone joined11:52
chrisf joined11:52
pidus_ cmn: yes. A fetch, followed by a merge. I do it before any commit/push11:52
forgot to do it this time round11:52
kerrick joined11:52
cmn then your repo must have low traffic; if the merge is a fast-forward (i.e. the history did not diverge) then it will just update the branch11:53
nixmaniack joined11:53
cmn if the history does diverge, you need to do a real merge11:53
Daniel0108 joined11:53
cmn and that's the default message for a merge11:53
hyperair left11:54
pidus_ oh ok11:54
fermo joined11:54
tiagobutzke left11:55
pidus_ and by real merge you mean git merge origin/master?11:55
jspiros joined11:56
albel727 left11:57
leen^| joined11:57
Tianon joined11:58
Tianon left11:58
Tianon joined11:58
Dave^| left11:58
albel727 joined11:58
GeorgeSebastian left11:58
cmn pidus_: a real merge is a merge that can't be fast-forwarded11:58
that is, where there are different commits in one and the other11:59
instead of one just being ahead of the other11:59
rendar joined11:59
pidus_ cmn: ok. Not sure if I'm getting all of it. Got to do some reading of help.12:00
canton7 http://sandofsky.com/images/fast_forward.pdf12:00
shiba_yu36 left12:01
endy_c left12:01
empity left12:01
wereHamster canton7: nice document. is it yours?12:02
Praise left12:02
Praise joined12:02
canton7 wereHamster, sadly not. someone else (can't remember who) found it after a quick google12:02
pidus_ thanks cmn and canton7. Got the fast_forward thing.12:03
canton7 I liked it so I bookmarked it :)12:03
shiba_yu36 joined12:03
artib left12:03
pidus_ Just one last question - lame though again it prolly is. If you pull, just before committing and assuming that there are no changes between the time you pulled and you commit, ever push will be ff right? Guess I missed out on the conflict thing here!12:04
*every12:04
shiba_yu_ joined12:05
shiba_yu36 left12:05
keller joined12:06
alexs joined12:06
alexs left12:06
alexs joined12:06
Praise left12:06
canton7 pidus_, yup that's right. If you try and push something that would require the remote to do a non-ff merge, the push is rejected. You then have to pull, and merge those changes in yourself, ending up with something that the remote can ff merge12:06
lisak joined12:06
Praise joined12:06
marthinal left12:07
sweb if i want to use hooks12:07
file must be without .sample ?12:07
ziro` left12:07
canton7 sweb, yup12:07
sweb canton7, not work :/12:07
canton7 (must also be executable with a valid shebang)12:07
pidus_ canton7: Cool. I guess I got it now. Thanks a ton and sorry for bugging you all with my noob questions!12:07
wanders joined12:07
Kindari left12:08
d4rk1ink_ left12:08
canton7 pidus_, no worries. I'd advise reading e.g. !book cover-to-cover, as git's something that it's not too easy to learn using the "learn how to solve problems as you come to them" technique :)12:09
jast pidus_: *automatic message* 'Pro Git' is a complete book about git that is available online for free (there's a print version, too): http://progit.org/book/12:09
_kud left12:09
zykes- joined12:09
pidus_ canton7: Will postively read it12:10
ipalaus_ left12:10
pidus_ cmn: Thanks12:10
GeorgeSebastian joined12:11
mklappstuhl left12:11
squentin left12:11
erik_tr joined12:12
alexs left12:13
DarkAR left12:13
pidus_ left12:13
pidus joined12:13
Kindari joined12:16
novettam joined12:17
weiyang joined12:17
GeorgeSebastian left12:18
ajt joined12:19
sweb i use this introduction but when i commit and push from my client. Public files and git not updated12:19
http://joemaller.com/990/a-web-focused-git-workflow/12:19
but hub repository update12:19
canton7 sweb, try putting an echo statement in the hook. Does that get displayed? Can you run the hook directly from the shell?12:20
oso96_2000 joined12:21
niboshi_ joined12:21
herdingcat left12:24
squentin joined12:24
psakrii left12:24
tiagobutzke joined12:24
ph^ joined12:25
novettam left12:26
lacrymology left12:26
kmc left12:28
TAsnw left12:28
kalusn left12:29
GeorgeSebastian joined12:29
novettam joined12:29
_md left12:30
sweb canton7, problem is for hook permissions. my problem is solved. ty12:30
canton7 :)12:30
the_cybersphinx joined12:32
DarkAR joined12:35
tatsuya_o left12:35
GeorgeSebastian left12:36
cybersphinx left12:36
mitsuhiko joined12:36
alnewkirk joined12:36
alexs joined12:36
alexs left12:36
alexs joined12:36
wolfric left12:36
wolfric joined12:36
tatsuya_o joined12:36
sweb how to pass my password to git push in linux command line12:36
?12:36
crashanddie sweb, you can't.12:37
subbyyy joined12:37
_md joined12:37
kmc joined12:37
canton7 sweb, what protocol are you pushing over? http(s) or ssh?12:37
sweb ssh12:37
canton7 look into setting up ssh key authentication12:38
thiago configure ssh so you don't have to type a password12:38
bindaasomatic left12:40
bindaasomatic joined12:40
sweb i must password in this line url = ssh://gituser@gitserver/path/to/.git/12:41
stodan left12:41
sweb thiago, ^12:41
wereHamster must?12:42
canton7 sweb, google for something like "ssh without password". There are millions of hits12:42
this isn't a git problem12:42
regedit joined12:47
ben_alman left12:47
Samoi left12:47
johnkpau_ joined12:48
regedit any files in the same directory as the .git folder is part of the working tree?12:49
oriba joined12:49
GeorgeSebastian joined12:49
dv310p3r left12:49
Samoi joined12:49
na3r left12:51
spatulasnout joined12:51
phluks Yep12:51
p3rror joined12:51
phluks unless they are in .gitignore12:52
canton7 (or .git/info/exclude)12:52
Codif left12:52
c00kiemon5ter joined12:53
c00kiemon5ter left12:53
c00kiemon5ter joined12:53
regedit however i seem to remember it being advised not to have the actual project files in the same place as the .git folder, but rather make a subfolder for it. true?12:53
c00kiemon5ter left12:53
jesteracer left12:54
phluks I disagree. However, it depends on the layout of your project. It may make more sense.12:54
GodEater left12:55
cmn the working tree is more about the files that git cares about... what do you mean by project files in a subfolder?12:55
phluks regedit: If your git repo _is_ the project or if you have more projects in your git repo fx.12:56
wereHamster regedit: if your project files are in /foo/bar, then the .git dir is /foo/bar/.git12:56
regedit right12:57
GeorgeSebastian left12:57
regedit thanks guys12:59
regedit left12:59
glcrazy_ left13:00
Cipher-0 joined13:01
merkosh joined13:03
Ingmar joined13:03
avtobiff joined13:03
GodEater joined13:03
[M]ax joined13:03
leo2007 joined13:03
teweWork left13:04
msponge left13:04
ramusara joined13:06
d4rk1ink joined13:07
alberto56 joined13:07
khmarbaise joined13:08
Chib left13:08
teweWork joined13:08
lacrymology joined13:08
phluks Has anybody been working with a dynamic or "masterless" branching strategy workflow?13:09
wereHamster explain..13:10
GeorgeSebastian joined13:10
phluks .. fx where one releases dynamic branches in stead of the more "normal" static release branch13:10
cmn it sounds like more trouble than it's worth13:11
phluks Or in other words you dont have a specific branch for releases13:11
It may be13:11
but it seems very flexible13:11
And hard to explain :)13:11
cmn if there is no canonical stable branch, how do people know what code is stable and which may crash their machine?13:12
phluks Exactly. Theres a problem with the philosophy of the branches.13:12
where they come from and where they are going13:12
My current solution is to have a separate repo for the branch config13:13
cmn why not in the same repo?13:13
cburroughs joined13:13
phluks where each branch has a dir with files with the current state of say dev, test and live13:14
_kud joined13:14
phluks cmn: it gives problems with merges13:14
verto joined13:14
phluks the config is common to all branches13:15
ideally Id like to have a "global" option in git13:15
cmn hm, ok, I thought you meant it was some sort of human-readable text13:15
phluks but Im not sure that makes sense13:15
JeffJohnson left13:15
phluks cmn: it is, but it is structured in dirs, like a sort of database13:16
albel727 left13:16
phluks "global" with respect to branches in this case13:16
JeffJohnson joined13:16
JeffJohnson left13:16
JeffJohnson joined13:16
cmn for which fields in particular?13:16
phluks cmn: fields?13:18
GeorgeSebastian left13:18
cmn options, whatever, which parts of the config do you need to have defined for all branches?13:18
johnkpau_ left13:20
tswr joined13:20
phluks I got interupted by Project manager - just a second13:20
Dave^| joined13:21
leen^| left13:21
_kud left13:23
SpecialEmily left13:23
_kud joined13:23
opalkaopalka|lunch13:23
tswr Hi, all! I am writing a watch dog. What is the best way to check that the repository is available? When trying to clone the http repository, if it is down, git-remote-http hangs for a very long time. Is there a way to setup the timeouts for clone?13:23
jceb left13:23
canton7 why not just create your own http request?13:24
Daniel0108 left13:24
magcius left13:24
phluks back13:24
_kud_ joined13:25
tswr canton7, well, it looks like writing a small limited version of helper, but with timeouts... looks a bit unnatural, though quite possible13:25
phluks cmn: its the meaning of the branchs - actually. What they are for. Feature, release branch on dev, test or live13:25
magcius joined13:25
phluks cmn: what features are on what releases and so on13:26
s/branchs/branches/13:26
canton7 tswr, request a small file that you know should always exist, like info/refs. use curl or something, then you have absolute control13:26
tswr canton7, i'd also like to check that push/pull works ok for specific users13:27
cmn phluks: that sounds like something that should live on a branch of its own and never get merged13:27
subbyyy left13:27
phluks cmn: yes, but i cannot checkout a branch on the live server, that does not contain the code :)13:28
Or have I misunderstood?13:28
canton7 tswr, there's http.lowSpeedLimit and http.lowSpeedTime, might be worth looking at13:28
weiyang left13:28
_kud left13:29
tswr canton7, I tried using them, but it looks like they refer only to the speed after connect was successful13:29
:)13:29
Suresht joined13:29
gwasshoppah left13:29
leo2007 left13:29
canton7 tswr, I'd suggest checking that the remote is online first with your own http request, then attempting to clone/push whatever you need to. It's a bit hacky, but it'll work13:30
GeorgeSebastian joined13:30
erichynds joined13:31
tswr canton7, it will work when I'm lucky :) the server can go down right after the first http request :)13:31
phluks We are trying a solution that is basicly a dynamic version of this http://nvie.com/posts/a-successful-git-branching-model/13:31
canton7 tswr, what are the chances? Given that such an event will only cause the watching test to slow down significantly (but not fail), I'd say that was acceptable13:31
phluks In stead of develop and master we have numbered releases.13:31
Ah, cake -> away13:32
jsick3 joined13:32
cmn phluks: you don't need to checkout a branch, you should be able to do "git checkout descriptions -- '*'"13:32
chris_99 joined13:32
tswr canton7, well, yes that's what I'll probably do if I won't find anything better13:33
albel727 joined13:33
tswr canton7, thank you!13:33
Daniel0108 joined13:33
ilteris_ joined13:34
workmad3 left13:34
teweWork left13:35
canton7 tswr, sorry I couldn't find something neater :P13:35
roflin left13:35
ipalaus_ joined13:35
roflin joined13:36
tswr canton7, :)13:37
GeorgeSebastian left13:37
tswr left13:37
harshpb joined13:37
henrikbjorn left13:38
bartek joined13:39
tommyvyo_ joined13:40
weiyang joined13:41
sweb left13:41
RichiH joined13:41
sweb joined13:42
RichiH what's the sanest way to find out what variant of http://www.kerneltrap.com/mailarchive/linux-netdev/2009/4/29/5598314/thread#mid-5598314 made it into the kernel tree and in which tags it exists? the subject of the email does not appear in git log.13:42
timmywil joined13:43
timmywil left13:43
tatsuya_o left13:43
glennpratt joined13:44
FauxFaux RichiH: git log --all --grep ?13:44
tatsuya_o joined13:44
soc42 joined13:47
phluks cmn: ...ah, that could be the solution I am looking for. Thnx I'll look into that13:47
RichiH FauxFaux: neat; that's a _lot_ faster than searching the log via less. now that i have the commit id, how do i find all tags which include that commit?13:47
flavius joined13:48
nardev left13:48
cmn git tag --contains <tag>13:48
dwmw2_gone left13:48
dwmw2_gone joined13:48
hyperair joined13:49
AaronMT joined13:50
kvanderw left13:50
ISF joined13:50
heptadecagram joined13:50
sattu94 left13:51
nax left13:52
akamike left13:52
teweWork joined13:52
niloc132 joined13:56
erik_tr left13:56
khmarbaise left13:58
sanduz2 left13:58
neurodrone left13:58
napdragonspyraway14:00
timmywil joined14:01
wks left14:01
kR15T0 joined14:02
Flawless joined14:03
CannedCorn joined14:03
ChanServ set mode: +v14:03
jspiros left14:04
Flawless Hello guys. I'm working on a git project, and I'm trying to learn git, but I'm not terribly experienced with it yet. I stashed some changes while working on another problem, and have now un-stashed them14:04
However, when I do "git status", I get this:14:04
http://p.adora.dk/P2219.html14:05
what does "both modified" mean? And how come I can't see my changes the files with "git diff"?14:05
avinashhm left14:05
jspiros joined14:05
dv310p3r joined14:05
envi_ left14:05
louiz because there’s a conflict between what you changed AFTER you stashed something, and what the stashed things are14:06
envi_ joined14:06
d0k joined14:06
_kud joined14:06
Flawless Yes, I got a number of conflicts on unstash. I manually resolved them all14:06
so what now?14:06
louiz if you manually resolved them, you have to git add each of them14:06
kR15T0 how can I remove the commit before the last one using rebase on a master branch?14:06
louiz Flawless: git status says: # (use "git add/rm <file>..." as appropriate to mark resolution)14:07
mgpcoe left14:07
louiz you have to do "git add somefile" to say “this file is resolved”14:07
flavius left14:07
louiz once everything is resolved, commit14:08
Flawless ah, cool. It's just that I'm wary of doing "git add", since I've seen in the past that the files are then added, but do not show up in the diff14:08
which is.. confusing14:08
louiz to see the files that have been added, do git diff --cached14:08
Flawless ah, cool14:09
louiz "git diff" just shows the changes that have not yet been added14:09
_kud_ left14:09
louiz and git diff HEAD shows both14:09
Flawless Yeah, that's a key difference from (say) SVN that I'm still trying to get used to14:09
cool14:09
louiz yeah, that’s also different from hg14:09
since there’s no staging area in hg14:10
Dave^| left14:10
lisak left14:10
DarkAR_ joined14:10
keller left14:10
weiyang left14:10
leen^| joined14:10
Dreamer3 left14:11
jspiros left14:11
timmywil left14:11
roflin left14:11
Daniel0108 left14:11
JeffJohnson left14:11
d4rk1ink left14:11
Samoi left14:11
oriba left14:11
alexs left14:11
novettam left14:11
oso96_2000 left14:11
zykes- left14:11
wanders left14:11
Praise left14:11
Tianon left14:11
kerrick left14:11
chrisf left14:11
SethRobertson left14:11
LotR left14:11
Ratler left14:11
quentusrex left14:11
ketas left14:11
madduck left14:11
prudhvi left14:11
plopix left14:11
EugeneKay left14:11
milli left14:11
lamont left14:11
twem2_ left14:11
stoffus left14:11
tg left14:11
fahadsadah left14:11
Xeross left14:11
Cerise left14:11
AlexanderS left14:11
zibri left14:11
tuxx- left14:11
dsop left14:11
wolfric left14:11
ciaranm left14:11
xou left14:11
deever left14:11
_aeris_ left14:11
Kiall left14:11
kanru left14:11
MacGyverNL left14:11
Flawless left14:11
ReekenX left14:11
alecat left14:11
freimatz2 left14:11
jmah left14:11
Cogito left14:11
nyuszika7h left14:11
variable left14:11
reuss left14:11
coredumb left14:11
troyt left14:11
blast_hardcheese left14:11
torbenh3 left14:11
traviscj left14:11
etcetera left14:11
Nickeeh left14:11
Marquel left14:11
Internet13 left14:11
kenyon left14:11
Drakevr left14:11
metze left14:11
Arrowmaster left14:11
avar left14:11
j0ran left14:11
mino left14:11
Ksg89 left14:11
karihre left14:11
teuf left14:11
FDFlock left14:11
yogurt_truck left14:11
DjSlash left14:11
preflex left14:11
magnusol left14:11
Delerius left14:11
eeadc left14:11
nb left14:11
meder left14:11
TheFriscoFainter left14:11
iff left14:11
didlix left14:11
mediaslave left14:11
Grum left14:11
d1b left14:11
jrockway left14:11
haarg left14:11
naderman left14:11
deavid left14:11
eregon left14:11
OPK_ left14:11
dropdrive left14:11
rphillips left14:11
electrogeek left14:11
koki left14:11
jaeckel left14:11
ska-fan left14:11
tychoish left14:11
youam left14:11
morgajel left14:11
Corey left14:11
BlindOracle left14:11
beautifulmind left14:11
Cipher-0_ joined14:11
soc42_ joined14:11
w0bni left14:11
PuffTheMagic left14:11
innociv_ joined14:11
felher left14:11
spacebat left14:11
jwmann1 joined14:11
JEEBcz joined14:11
hwrdprkns_ joined14:11
BeerPerson left14:11
mattp_ left14:11
mrchrisadams left14:11
charon left14:11
shennyg left14:11
pronoy left14:11
brian_g_ joined14:11
mtkd left14:11
Adys left14:12
CannedCorn left14:12
mrchrisadams_ joined14:12
Adys joined14:12
jwmann left14:12
wbednars_ joined14:12
Cipher-0 left14:12
flaguy48 left14:12
mattp_ joined14:12
LiohAu__ joined14:12
psoo_ joined14:12
brian_g left14:12
mirage335 left14:12
dcelix left14:12
charon joined14:12
Rejinka left14:12
mitsuhiko left14:12
eMBee left14:12
psoo left14:12
mika left14:12
ngulden left14:12
hobodave left14:12
ricky left14:12
estan_ joined14:12
shachaf left14:12
Kazii left14:12
hobodave joined14:12
RichardBronosky left14:12
chuck001 joined14:12
milki_ joined14:12
childbear2000 joined14:12
tiagobutzke_ joined14:12
Cipher-0_ left14:12
felher joined14:12
w0bni joined14:12
niboshi left14:12
_Qman left14:12
milki left14:12
envi_ left14:12
tiagobutzke left14:12
phix left14:12
tizzo-afk left14:12
juvenal left14:12
markvandenborre left14:12
errr left14:12
tiagobutzke_tiagobutzke14:12
childbear left14:12
bitslip_ joined14:12
heptadecagram left14:13
berserkr left14:13
fir31ight left14:13
johntramp left14:13
youam joined14:13
torbenh3 joined14:13
ilteris_ left14:13
clone1018 left14:13
alanp joined14:13
sweb left14:13
crass left14:13
DarkAR left14:13
Dave^|| left14:13
chuck00 left14:13
atdiehm left14:13
nDuff left14:13
Cacheaway left14:13
Gitzilla left14:13
kermit left14:13
tommyvyo left14:13
tommyvyo_tommyvyo14:13
Cipher-0 joined14:13
hwrdprkns__ joined14:13
clone1018 joined14:13
_Qman joined14:13
hwrdprkns left14:13
spatulasnout left14:13
mace left14:13
jjurach left14:13
ricky joined14:13
soc42 left14:13
kmc left14:13
ajt left14:13
nixmaniack left14:13
setmeaway left14:13
wbednarski left14:13
tvw left14:13
guardian left14:13
Yuuhi`` left14:13
cyphase left14:13
Exposure left14:13
_Vi left14:13
Error404NotFound left14:13
chrizz left14:13
Rejinka joined14:13
jpalmer left14:13
serj left14:13
bitslip left14:13
mtx_init left14:13
dotCOMmie left14:13
Araxia left14:13
estan left14:13
alanp_ left14:13
Guest96808 left14:13
harv left14:13
RobertLaptop left14:13
puff left14:13
DrNick left14:13
alnewkirk left14:13
mishok13 left14:13
BearPerson joined14:13
alnewkirk joined14:13
Araxia_Araxia14:13
AABD3HY joined14:13
shachaf_ joined14:13
LiohAu left14:13
xou_ joined14:13
BearPerson left14:13
BearPerson joined14:13
ttvd left14:13
ccushing left14:13
setmeaway2 joined14:13
LiohAu__64MAA169I14:13
louiz :/14:13
pl0sh left14:13
_Qman left14:13
JEEB left14:13
etcetera joined14:13
rchavik left14:13
s0ber left14:13
toobluesc left14:13
Yuuhi`` joined14:13
Fissure left14:14
phaedrix left14:14
Slush- left14:14
lqi left14:14
dr_lepper left14:14
localhost left14:14
kst left14:14
cybersphinx joined14:14
the_cybersphinx left14:14
eijk left14:14
chrizz joined14:14
zivester left14:14
mdpatrick_ left14:14
timmywil joined14:14
tgunr_ left14:14
innociv left14:14
juvenal joined14:14
jeremy_c left14:14
jeffhung left14:14
dilfridge left14:14
charon left14:14
charon joined14:14
heptadecagram joined14:14
thews left14:14
dilfridge joined14:14
sontek left14:14
SJS left14:14
Error404NotFound joined14:14
jstemmer left14:14
bobdobbs left14:14
harv joined14:14
kylebk joined14:14
markvandenborre joined14:14
RichardBronosky joined14:14
Marquel joined14:14
s0ber_ joined14:14
s0ber_s0ber14:14
guardian joined14:14
ajt joined14:14
phix joined14:14
errr joined14:14
mace joined14:14
mika joined14:15
mika left14:15
mika joined14:15
jeremy_c joined14:15
spacebat joined14:15
phaedrix joined14:15
envi_ joined14:15
spb_ joined14:15
johntramp joined14:15
ISF_ joined14:15
fir31ight joined14:15
niboshi joined14:15
mtkd joined14:15
naderman joined14:15
spb left14:15
naderman left14:15
naderman joined14:15
serj joined14:15
spb_spb14:15
dotCOMmie joined14:15
crakdmirror left14:15
dcelix joined14:16
vmiklos left14:16
Gunni left14:16
_Vi joined14:16
berserkr joined14:16
mtx_init joined14:16
hwrdprkns_ left14:16
ph^ left14:16
TML left14:16
dec left14:16
ahf left14:16
louiz Is there a way to know, BEFORE pushing which commit will be pushed? For example I want to review all the commit that will be pushed IF I do "git push origin master", can I do that?14:16
crakdmirror joined14:16
Dreadnaught joined14:16
Dreadnaught left14:16
Dreadnaught joined14:16
louiz (if somebody sees the question between all these netsplits…)14:16
mdpatrick joined14:16
sontek joined14:16
svm_invictvs left14:17
Exposure joined14:17
RobertLaptop joined14:17
atdiehm joined14:17
dec joined14:17
Unknown[NF] left14:17
tizzo-afk joined14:17
teweWork left14:17
kmc joined14:17
ph^ joined14:17
Kulrak left14:17
sycofly left14:17
nyuszika7h joined14:17
zivester joined14:17
eijk_ joined14:17
Grum joined14:17
koki joined14:17
davec__ joined14:17
envi_|2 joined14:17
jspiros joined14:17
Flawless joined14:17
roflin joined14:17
JeffJohnson joined14:17
d4rk1ink joined14:17
Samoi joined14:17
oriba joined14:17
alexs joined14:17
novettam joined14:17
oso96_2000 joined14:17
zykes- joined14:17
wanders joined14:17
Praise joined14:17
Tianon joined14:17
kerrick joined14:17
chrisf joined14:17
SethRobertson joined14:17
LotR joined14:17
Ratler joined14:17
madduck joined14:17
ketas joined14:17
prudhvi joined14:17
plopix joined14:17
Cerise joined14:17
EugeneKay joined14:17
milli joined14:17
lamont joined14:17
Xeross joined14:17
twem2_ joined14:17
stoffus joined14:17
fahadsadah joined14:17
tg joined14:17
AlexanderS joined14:17
kanru joined14:17
zibri joined14:17
tuxx- joined14:17
dsop joined14:17
wolfric joined14:17
ciaranm joined14:17
_aeris_ joined14:17
MacGyverNL joined14:17
hubbard.freenode.net set mode: +v14:17
alecat joined14:17
freimatz2 joined14:17
Cogito joined14:17
variable joined14:17
reuss joined14:17
coredumb joined14:17
traviscj joined14:17
Nickeeh joined14:17
Internet13 joined14:17
mino joined14:17
kenyon joined14:17
yogurt_truck joined14:17
Drakevr joined14:17
metze joined14:17
avar joined14:17
Ksg89 joined14:17
karihre joined14:17
teuf joined14:17
FDFlock joined14:17
DjSlash joined14:17
preflex joined14:17
magnusol joined14:17
eeadc joined14:17
nb joined14:17
meder joined14:17
TheFriscoFainter joined14:17
iff joined14:17
didlix joined14:17
mediaslave joined14:17
d1b joined14:17
jrockway joined14:17
morgajel joined14:17
haarg joined14:17
deavid joined14:17
eregon joined14:17
OPK_ joined14:17
rphillips joined14:17
electrogeek joined14:17
jaeckel joined14:17
ska-fan joined14:17
tychoish joined14:17
Dreamer3 joined14:17
envi_|2 left14:17
didlix left14:17
mediaslave left14:17
d1b left14:17
rphillips left14:17
mediaslave joined14:17
cmn louiz: update the remote-tracking branches, then git log branch..remote/branch will tell you what commits are different14:17
Araxia_ joined14:17
cmn left14:17
jmah joined14:17
ttvd joined14:17
cmn joined14:17
dilfridge left14:17
louiz cmn: ah yeah, great, thanks14:17
brian_g_ left14:17
BlindOracle joined14:18
traviscj left14:18
fahadsadah left14:18
nb left14:18
DrNick joined14:18
yogurt_truck left14:18
haarg left14:18
zivester left14:18
Dreamer3 left14:18
gigamonkey joined14:18
louiz (one sentence is Excess flood, ok…)14:18
ISF left14:18
ahf joined14:18
sycofly joined14:18
cyphase joined14:18
Unknown[NF] joined14:18
Corey joined14:18
OPK_ left14:18
eMBee joined14:18
dilfridge joined14:18
zivester joined14:18
yogurt_truck joined14:18
Dreamer3 joined14:18
OPK joined14:18
Kiall joined14:18
mitsuhiko joined14:18
d1b joined14:18
TML joined14:18
svm_invictvs joined14:18
svm_invictvs left14:18
svm_invictvs joined14:18
didlix joined14:18
jeffhung joined14:18
ls|james left14:18
kermit joined14:18
cmn louiz: or rather, branch...remote/branch will tell you what's different14:18
deever joined14:19
rphillips joined14:19
rphillips left14:19
rphillips joined14:19
SJS joined14:19
louiz Ok, I find this ... or .. notation quite hard to remember :p14:19
traviscj joined14:19
shennyg joined14:19
quentusrex joined14:19
j0ran joined14:19
pronoy joined14:19
pronoy left14:19
pronoy joined14:19
Delerius joined14:19
troyt joined14:20
ph^_ joined14:20
armenb left14:20
workmad3 joined14:20
Gunni joined14:20
cmn louiz: yes, it's a bit tricky14:20
ricky left14:20
ricky joined14:20
thews joined14:21
Arrowmaster joined14:21
codetroll left14:21
jstemmer joined14:22
ilteris_ joined14:22
vmiklos joined14:22
flexd left14:22
teweWork joined14:22
ph^ left14:22
nyuszika7h left14:22
dropdrive joined14:22
Arrowmaster left14:22
Arrowmaster joined14:22
Cogito left14:22
ls|james joined14:22
jjurach joined14:22
crass joined14:22
rickyGuest7259714:22
shadowmaster left14:22
Fissure joined14:22
shadowmaster joined14:22
nyuszika7h joined14:23
Cogito_ joined14:23
weiyang joined14:23
nb joined14:23
bburhans left14:23
toobluesc joined14:23
docgnome left14:23
blast_hardcheese joined14:24
tabakhase left14:24
alnewkirk left14:24
bburhans joined14:24
pl0sh joined14:24
Sico joined14:25
SicoWork left14:25
localhost joined14:25
_kud left14:25
d1bdb14:25
fahadsadah joined14:25
_kud joined14:25
SicoSicoWork14:25
tabakhase joined14:25
dbGuest7407714:26
mirage335 joined14:26
haarg joined14:26
Daniel0108 joined14:26
Guest74077 left14:26
ceej_ joined14:26
GunArm joined14:26
docgnome joined14:27
Gitzilla joined14:27
nixmaniack joined14:27
armenb joined14:27
nDuff joined14:27
lisak joined14:27
d1b joined14:27
nyuszika7h left14:27
flavius joined14:27
flaguy48 joined14:28
auke- left14:28
tabakhase left14:28
tabakhase joined14:28
nyuszika7h joined14:29
mishok13 joined14:29
CannedCorn joined14:29
fedesilva joined14:29
flexd joined14:30
auke- joined14:30
jeremy_c left14:30
jeremy_c joined14:30
nixmaniack left14:30
sitaram left14:31
Prasad left14:31
sitaram joined14:31
sitaram left14:31
sitaram joined14:31
nixmaniack joined14:32
Slush- joined14:32
axl_ joined14:32
louiz Is there a way to rename a committer name in a whole repository (all the concerned commits), WITHOUT breaking the repository for people who already cloned it etc?14:32
cmn no14:32
louiz ok14:32
that’s what I thought14:33
FauxFaux (By design!)14:33
louiz (Yeah, I understand)14:33
matthiasgorgens Does "git grep" also look in stashes?14:33
cmn the committer name is part of the data in the commit which is used to hash it, so if you change it, you're changing the hash etc etc14:33
joshsmith joined14:33
louiz yep, right14:33
cmn it's actually a feature14:33
flijten joined14:33
fir31ight left14:34
phluks cmn: It seem to me that I'll have to create my own commits (mktree, commit-tree) if I want to commit to an unmerged branch or, do you have a fix for that too :)14:34
louiz And if I do that though, what will happen for people with their clone? Will they have to rm the directory and reclone it completely?14:34
eletuchy joined14:35
louiz what will happen if they try to pull the modified repository?14:35
cmn they'll merge two completely different histories that somehow produce the same worktree14:35
eephillip joined14:35
canton7 louiz, if they merge, they'll join together the old history (the one in their repo) and the new one, and you'll end up with a third history which is a merge of the other two. If they rebase, everything will be fine (I think)14:35
someone please confirm on my rebase statement :P14:36
cmn they'd have to use --onto14:36
but it's doable14:36
Zariel joined14:36
muneeb joined14:36
neurodrone joined14:37
canton7 or if they don't have any local commits which weren't rewritten (or any local changes), they can fetch; reset --hard origin/branch14:37
lnostdal left14:37
nixmaniack left14:37
louiz I’m worried only for people using my repository just to update their code and use my software. I can tell all the devs to reclone if necessary. So will they just be able to pull (without conflict)?14:37
cmn phluks: you can do a partial commit ignoring that magic file and then checkout that other branch and commit that file there14:37
fir31ight joined14:37
drev1 joined14:38
louiz actually I’ll try myself14:38
ccushing joined14:38
flavius left14:38
luke-jr joined14:39
keller joined14:39
luke-jr I want to make a private git repo public, but I need to audit it for passwords in the entire history-- is there a simple way to list all the objects in a repository, so I can 'git show' each one?14:39
teknoid joined14:40
teknoid left14:40
MacGyverNL left14:41
glcrazy left14:41
MacGyverNL joined14:42
MacGyverNL left14:42
MacGyverNL joined14:42
troyt left14:43
canton7 luke-jr, git rev-list --objects --all14:44
luke-jr thx14:44
drev1 left14:44
phluks cmn: hmm, Im not sure I follow you. The way I see it I need to not switch branches. Like the nice checkout.14:45
cmn well, that checkout invocation works, but committing only ever really happens on the active branch14:45
Zariel If the first commit in my branch history has incorrect eol how I can I fix it so it cleanly applies to other branches?14:46
phluks yes14:46
workmad3 left14:46
drev1_ joined14:46
kpreid left14:46
troyt joined14:47
Jackneill joined14:47
Jackneill left14:47
Jackneill joined14:47
ilteris_ left14:48
kR15T0 left14:49
bindaasomatic left14:50
joshteam_mustEMAjoshteam14:50
cmn phluks: checkout when switching branches will keep your local modifications, so you can change the descriptions when you're committing on whatever branch; checkout descriptions branch and commit the descriptions there14:50
jonatasnona joined14:52
tiglog joined14:52
ilteris_ joined14:54
kpreid joined14:54
cooloney left14:55
ceej joined14:55
muneeb left14:56
kvanderw joined14:56
arvind_khadri joined14:57
ISF_ left14:57
psakrii joined14:57
oc80z left14:57
troyt left14:57
Praise left14:57
oc80z joined14:57
ceej_ left14:57
ph^ joined14:57
Praise joined14:57
eeadc left14:57
kR15T0 joined14:57
yorick left14:57
aidenhong joined14:57
troyt_ joined14:57
drl joined14:57
jpalmer joined14:57
arvind_khadri left14:57
arvind_khadri joined14:57
yorick joined14:58
ph^_ left14:58
phluks cmn: Ah, well. That would work. I was beginning to look into add, write-tree and then update the desctiption ref to the new tree-object.14:58
ah, I would need a commit too :)14:58
kerrick left14:59
eeadc joined14:59
scottschulthess joined14:59
scottschulthess i'm getting14:59
fatal: could not read '/etc/git-commit-template': No such file or directory14:59
ISF joined14:59
scottschulthess when doing "git commit"15:00
muneeb joined15:00
scottschulthess any ideas where i can get that file15:00
cannonball joined15:00
cmn phluks: yeah, git will probably get confused otherwise15:00
dobby156 joined15:01
dobby156 hi15:01
Cogito_ left15:01
nyuszika7h left15:01
dobby156 when i do a git branch -a I am fairly sure it's list is out of date15:02
how do I get it to fetch the list of remote branches15:02
thank you15:02
Cogito joined15:02
cmn dobby156: git fetch15:02
frogonwheels dobby156: git ls-remote ?15:02
bjornbjorn left15:02
cmn if you have several remotes, git remot update or git fetch --all15:02
herdingcat joined15:03
nwp__ joined15:03
herdingcatericlee_home15:03
frogonwheels dobby156: git ls-remote will list the branches on the remote, but won't update locally.15:03
bjornbjorn joined15:03
frogonwheels dobby156: git doesn't update stuff locally until you fetch15:03
Swimming_Bird joined15:04
canton7 scottschulthess, git config commit.template ?15:04
guardian i have a placeholder file in my repo; which is dummy content aimed to be replaced by generated content. once the file is added to git, is .gitignore the right solution to prevent other developers from the team to override that placeholder content ?15:04
canton7 guardian, no. .gitignore will not ignore files which are tracked15:04
cmn dobby156: when you say out-of-date, do you mean that you have branches that have been delted? if want to get rid of those, use git fetch --prune15:04
ph^ left15:05
hashpuppy joined15:05
guardian canton7: so what's the solution?15:05
is there kind of lock?15:05
kpreid left15:05
FauxFaux No.15:05
hashpuppy new git user. i did "git branch feature1" and then git add .; git ci -m "adding to feature1". but it added it to master. how do i rollback this commit from master and commit it to feature1 branch15:05
frogonwheels guardian: you should have dummy content as blah.sample or something15:05
.. and don't commit that file.15:05
cmn hashpuppy: branch creates a branch, it doesn't switch you to it15:06
frogonwheels you can use sparse-checkout to ignore it if you really need to.15:06
canton7 hashpuppy , 'git branch' creates a new branch, but doesn't check it out. Use 'git branch feature1; git checkout feature1', or 'git checkout -b feature1' for short15:06
hashpuppy cmn: ha. yeah, i learned that the hard way15:06
elyob joined15:06
FauxFaux hashpuppy: git checkout feature1 && git cherry-pick master && git branch -f master master~ && git checkout master15:06
gerard0 joined15:06
canton7 hashpuppy, git reset --soft HEAD^; git checkout feature1; git commit should do what you want15:07
FauxFaux Mmm, that's a waste.15:07
canton7 or FauxFaux's way :P15:07
hashpuppy which way is preferred? as i'll spend sometime learning to decipher it15:07
FauxFaux git branch -f feature1 master && git reset --hard HEAD~ # is what I'd do, but I told myself I'm not going to use reset unless absolutely necessary. ¬_¬15:07
I suggest my way as it doesn't involve dealing with uncomitted stuff, so is conceptually simpler. Basically, it involves reset. :p15:07
hashpuppy your first suggestion?15:08
FauxFaux Uh, doesn't involve reset.15:08
Yes.15:08
canton7 (mine uses a reset --soft, so much less dangerous than a reset --hard. FauxFaux uses fewer commands. It's up to you, really)15:08
hashpuppy thanks15:08
canton7 well, dangerous if you screw up the command. it's not *that* dangerous15:08
FauxFaux It involves asking if you have uncomitted changes, at least.15:08
canton7 true15:09
(as always, there are lots of solutions which will work just fine)15:09
hashpuppy FauxFaux: that was almost magical. thanks. i will need to figure out how that works now.15:09
Praise left15:10
CannedCorn left15:10
Praise joined15:10
Praise left15:10
Praise joined15:10
childbear2000 left15:10
frogonwheels left15:11
canton7 FauxFaux, is there any advantage in doing "git branch -f master master~; git checkout master" as opposed to "git checkout master; git reset --hard HEAD~" ?15:11
the_metalgamer joined15:12
Silex it doens't do the same thing?15:12
eletuchy left15:12
Silex hum, actually it does... or not... errr15:12
Silex is confused and shuts up15:12
talexb joined15:12
canton7 to be fair, if there are uncommitted changes, they'll be safe with FauxFaux's version15:12
opalka|lunch left15:13
FauxFaux Yeah, as I said, I try and avoid trying to get people to understand reset. :)15:13
rdz left15:13
jspiros left15:14
Silex except if I'm ignorant, I find reset much more understandable than "branch -f"15:14
jspiros joined15:14
dobby156 cmn: thanks for the answer15:15
canton7 intuitively, branch is for creating/modifying branches. I don't tend to think of it as a branch moving tool. Maybe that's just me, though15:15
dobby156 I just wanted a list of all the branchs on the remote server15:15
FauxFaux Silex: Mmm. Probably because the two-argument form of branch isn't very common.15:15
dobby156 which it has done15:15
ngulden joined15:15
dobby156 cmn: just another quick question if I don a git pull (of branch B) whilst in branch A it will try and merge them15:16
or does it just switch branches15:16
thank you15:16
CareBear\ pull = fetch + merge15:16
this is the first line in the man page15:16
hashpuppy so reset will wipe out uncomitted changes?15:16
dobby156 CareBear\: thank you15:16
CareBear\ hashpuppy : reset will point your branch at somewhere else than it is now15:17
FauxFaux hashpuppy: Read http://progit.org/2011/07/11/reset.html . It does hundreds of things, most of which you don't want or need.15:17
CareBear\ hashpuppy : --hard will drop uncommitted changes15:17
cwillu_at_work joined15:17
hashpuppy thanks. i def asked my question at the right time15:17
nixmaniack joined15:17
drake01 joined15:18
drake01 left15:18
drake01 joined15:18
FauxFaux "The right time", also known as working hours in Europe. ¬_¬15:18
dfr|mac joined15:18
drake01 left15:18
CareBear\ hashpuppy : when in doubt, commit15:18
cakehero joined15:18
angelsl left15:19
CareBear\ hashpuppy : as long as you have committed, your work can usually always be retrieved15:19
canton7 (then, even if you throw away the commit by accident, you can still get it back. If you throw away uncommitted changes by accident, they're gone)15:19
CareBear\ (of course not if you rm -rf)15:19
Parkotron left15:19
tizzo-afk left15:19
angelsl joined15:19
muneeb left15:20
dfr|mac left15:20
kenperkins left15:20
drl left15:21
Kotoc joined15:21
dfr|mac joined15:21
frsk left15:21
ChanServ set mode: +v15:22
flyz_ joined15:22
Kotoc looking to do a non-root, local dir install of git on redhat .. anyone know how? I don't have make/gcc,cc either :(15:22
drake01 joined15:23
drake01 left15:23
drake01 joined15:23
vdv left15:23
PerlJam Kotoc: Is this an embedded system of some sort, or just severely impoverished for no good reason?15:23
drake01 left15:24
Know1edge joined15:24
FauxFaux Kotoc: Get an identical redhat machine on which you do have root, build everything inside a prefix, copy the entire thing over.15:24
Know1edge Hey guys, im trying to get my boss to learn to use git…he's on a mac, what's a pretty nice gui git client for him to start on?15:24
charco joined15:24
flyz left15:24
charco Hello all :)15:24
ipalaus_ left15:25
airborn joined15:26
charco I want a friend to pull from my machine, but I just don't know how.. I don't want to give everyone access to the repo using git daemon to serve the repo over http, and I don't want to give the other user full ssh access.. Is there an easy way to achieve this?15:26
mdunham918_ joined15:27
canton7 charco, git-daemon doesn't use http. You can use apache to give him http access (it's a pain and pretty ugly), or you can set him up a shell account, but set his shell to git-shell (very restricted_15:27
FauxFaux charco: You can create a new user with git-shell, and they can use that user, or you can install gitolite (which is probably packaged and hence easier).15:27
wereHamster charco: so you want to allow someone else to access your data without giving him permisison to access your data?15:27
drev1_ left15:27
PerlJam charco: I'd go with gitolite :)15:27
FauxFaux M-M-MEGAJINX.15:28
canton7 you can also send him a patchset over email, using git-format-patch and friends15:28
haha :)15:28
freimatz2 left15:28
FauxFaux git bundle15:28
wereHamster I'm curious how you manage to do that..15:28
phluks Know1edge: im not mac-dude, but if you cannot make the linux-stuff run on your mac, you can try to check out smart git: http://www.syntevo.com/smartgit/index.html15:28
mdunham918_ hello i'm working on building a github tracker so if a project I'm following has a new release i will be notified. The way I'm thinking of doing this is by tracking the tags on a project if a new tag is created in the repo then i would know it has been updated would this be the best way of knowing when a project has a new release?15:28
codebeaker joined15:28
weiyang left15:28
FauxFaux She wants bob to have access to the code without bob having shell access or charlie getting access, wereHamster.15:28
PerlJam mdunham918_: github does have an RSS feed15:29
mdunham918_ sweet15:29
Araxia left15:29
Araxia_Araxia15:29
Know1edge phluks: I can make the linux stuff run on my mac, it's just my boss isn't that "tech savvy"15:29
charco I am a guy15:29
mdunham918_ where do i find it PerlJam15:29
FauxFaux No, your name is Alice, sorry.15:29
wereHamster mdunham918_: if you define a 'release' as 'a new tag' then yes. But not all projects use tags15:29
FauxFaux mdunham918_: Github also has ways to notify you about loads of things. See the admin interface and #github.15:29
mdunham918_ RSS might be a better way15:29
charco canton7, that would be nice, but I prefer just giving pull access15:29
Suresht left15:29
PerlJam mdunham918_: what FauxFaux said15:29
charco wereHamster, I want to give him permissions, but not to my whole computer15:29
phluks Know1edge: I am not a mac-dude :) - but Smartgit looks shiny15:30
canton7 Bob and Alice are such strong conventions that we're not going to break them, just because of someone's real gender :P15:30
mdunham918_ thanks guys15:30
charco git-shell is enough to pull ?15:30
FauxFaux Yes.15:30
Know1edge thanks phluks15:30
phluks Know1egde: ur welcome :)15:30
wereHamster charco: is that a one time thing or do you want that to work in the future?15:30
PerlJam charco: I'd still go with gitolite.15:31
charco wereHamster, it's a one time thing, but I want to know if there's a clean way if I need to do this in the future15:31
ecthiender joined15:31
FauxFaux canton7: The conventionts SHOULD NOT be violated, it is RECOMMENDED that any violators are shot.15:31
wereHamster charco: if it's one time, just fire up git-daemon15:31
charco PerlJam, I think gitolite is overkill15:31
wereHamster if it's recurring, install gitolite15:31
or use git-shell15:31
charco I think I will go with git-shell, if I can't get it going, I will go with git-format-patch and send it via email..15:32
Thank you all :)15:32
FauxFaux charco: gitolite from packages is, like, four operations.15:32
canton7 the git mailing list (and therefore the development of git) functions very well using primarily emailed patches15:32
FauxFaux That's for write, though; this is for read.15:32
spearce joined15:32
canton7 Well, when you think that one alternative to the git mailing list system is lots of pull requests from lots of contributers, it ends up much the same15:33
swombat joined15:33
canton7 but yes15:34
regedit joined15:34
Textmode joined15:34
Praise left15:35
dr_lepper joined15:36
dr_lepper left15:36
dr_lepper joined15:36
Praise joined15:36
regedit i have "/foo/bar/" and "!/foo/bar/exception.txt" in my .gitignore file, the exception doesn't seem to work - git whines about that file (/foo/bar/exception.txt) being ignored when i try to git add it15:36
cyphase left15:37
canton7 make the first like /foo/bar/*15:37
*line15:37
avinashhm joined15:37
wbednars_ left15:37
Cogito left15:38
canton7 "unignore" lines only match files which are explicitely ignored. if you ignore a folder, git doesn't consider each of the files inside for ignoring, and so the unignore rule never kicks in15:38
cyphase joined15:38
Cogito joined15:38
regedit ok thanks!15:38
Error404NotFound left15:39
harshpb left15:39
harshpb joined15:39
mdunham918_ left15:39
mikewintermute joined15:40
dobby156 Hi sorry another question, I am having a problem with branchs, i do a git fetch origin otherbranch15:40
and I get this15:40
MUILTFN joined15:40
dobby156 * branch otherbranch -> FETCH_HEAD15:41
ok15:41
but when I do a git branch it isn't listed there15:41
^slacker^ joined15:41
dobby156 and i can't switch into it15:41
oriba left15:41
pidus left15:41
mklappstuhl joined15:42
offby1 that's because you didn't fetch it properly.15:42
canton7 left15:42
harshpb left15:42
offby1 just do "git fetch"; that should get all branches; then you try checking it out again15:42
harshpb joined15:43
tvw joined15:45
ixti left15:45
kai joined15:45
Suresht joined15:45
Suresht left15:45
Suresht joined15:45
kai hey folks15:45
ixti joined15:46
bindaasomatic joined15:46
dobby156 offby1: thank you15:46
Vampire0 left15:47
kai if I want to write a hook that takes the references a user just pushed to the repository, makes sure those pass the unit tests and only commits them if they do pass, what hook would I want to use?15:47
Vampire0 joined15:47
spyrawayspyro15:48
antoniojasr joined15:48
kai and can I check out a tree with the user's sha1 even if that's not in the repo yet?15:48
jaequery joined15:49
talexb kai I think you want a pre-commit hook for running the user tests.15:49
PerlJam kai: what you're attempting sounds misguided to me (good idea, applied poorly)15:49
stodan joined15:49
n8o-mba joined15:49
kai PerlJam: why misguided? I think continous integration that checks after the tree is broken is the wrong approach15:49
talexb kai I'm not sure who you'd want to check our a tree as you've described .. if you set up a hook to be triggered by a user's command, you *are* running as that user.15:49
stoffus left15:50
codebeaker kai: what happens when your team run the tests, anyway … and then have to wait for another test run to do their commit?15:50
one of the best things about git is that it's fast to commit15:50
don't ruin that for your team15:50
kai codebeaker: my tests currently take 0.11s15:50
PerlJam kai: see talexb and codebeaker :)15:50
kukks joined15:50
kai it takes me hours to fix breakages to the tree15:50
arvind_khadri left15:51
codebeaker putting road blocks in place for your team isn't the answer15:51
education, and support is15:51
kai ok, so here's the thing15:51
codebeaker unless you don't respect them15:51
nyuszika7h joined15:51
kai it's an academic software project. I'm in no position to fire people who don't play along, because they're working in other departments at other universities15:51
ew0 joined15:51
SegFaultAX joined15:51
kai I do control the repository, though, so that's my only lever15:52
ew0 left15:52
tuxx- left15:52
jrm2k6 joined15:52
codebeaker also kai, regarding your point about CI being "too late" - just treat the CI as the "working" branch, and have the CI merge anything to master that passes your standard requirements15:52
that's much cleaner, imo15:52
talexb kai What codebreaker said.15:52
kai I know this is trying to fix a people problem by technical measures, but it's all I have15:52
talexb kai It's the wrong approach.15:52
kai hmm15:52
tuxx- joined15:53
kai can I restrict who's allowed to push to master?15:53
or do I need to set up personal repositories that the CI system pulls from?15:53
SegFaultAX left15:53
codebeaker you could create a pre-commit hook to reject commits on master15:53
baburdick joined15:53
lamont left15:53
bremner gitolite can enforce that kind of thing15:53
codebeaker and encourage them to push on a "review" branch15:53
SegFaultAX joined15:54
PerlJam kai: Also, by never letting the branch get broken you miss the opportunity for publicly humiliating the person(s) who broke it! ;)15:54
kai PerlJam: well, given it's a private repo, I don't really have that15:54
muv left15:54
PerlJam kai: sure you do ... it's just that your version of "public" is smaller than the general idea of public15:54
erik_tr joined15:55
baburdick left15:55
kai well, it's too small, I guess. at least the satisfaction of complaining about the broken branch doesn't make up for the productivity loss of having to spend a day or two to fix the branch15:56
neurodrone left15:56
codebeaker kai: would it be unreasonably time consuming to "review" branches?15:56
ericlee_home left15:56
codebeaker and have your committers work on pull request/ something based workflow15:56
ArseneRei joined15:56
codebeaker ala-github (yes, I'm aware some of the Git beards frown on the pull req. methodology)15:57
bremner no, we just frown on thinking it requires github ;)15:58
kai codebeaker: well, the politics here are a bit touchy. I think I can sell a CI setup as a 'quality improvement' step, I doubt I can sell the 'you don't get commit rights anymore because you keep breaking the tree'15:58
lamont joined15:58
bremner kai: just make a seperate branch for CI then15:58
kai even though this'd be the single step that would fix my problems :)15:58
codebeaker kai: having worked in a team where this was a problem, put everybody on a mailing list, and mail broken-build notifications from the CI to everyone15:59
and when it becomes an issue (soon) start taking names, and bringing people up on it15:59
regedit why am i getting errors when pushing to a bare remote? "fatal: remote end hung up unexpectedly"..."error in sideband demultiplexer"..."died of signal 13"..."failed to push some refs to '/home/foo/bar/'" and yet the push seems to have been successful, i even pulled to another repo to check the history - looks ok15:59
codebeaker and remember `git revert` is politically insenstive15:59
imarcusthis joined16:00
ipalaus_ joined16:00
codebeaker have your CI revert the commit if it doesn't pass16:00
Sitethief left16:00
ofus joined16:00
kennethreitz left16:00
ChanServ set mode: +v16:01
jwmann1 left16:02
Tianon left16:02
jwmann joined16:02
Tianon joined16:03
Tianon left16:03
Tianon joined16:03
gusnan left16:03
erik_tr left16:03
tjh joined16:04
jwmannblah16:04
blahjwmann16:04
ScottE joined16:04
phluks left16:04
kennethreitz joined16:05
giallu joined16:05
giallu left16:05
giallu joined16:05
CannedCorn joined16:07
ericdc joined16:07
tewecske joined16:08
tewecske left16:08
workmad3 joined16:08
CannedCorn left16:09
Flogalen joined16:09
mrsrikanth left16:10
kai codebeaker: thanks for the input, I'll see if I can get the CI push working revisions to a "curated" branch16:10
nsevn joined16:10
kenperkins joined16:10
codebeaker kai: sorry if you feel "shot-down" but you can't be "that guy" - plus there's more tactful ways to embarrass your hopeless users :)16:10
and CI rejecting anything that fails tests seems reasonable to me :)16:10
kai codebeaker: no, I think you're right16:11
Flogalen2 left16:11
tiglog left16:11
Ryback_ joined16:11
Guest93405 left16:12
kai basically all I'm trying to fix is that I need to spend too much time to work on a tree that doesn't run the tests after a fetch/rebase16:12
necromancer joined16:12
kai and your suggestion gives me a tree that will work like that16:12
regedit i'm getting these errors when pushing to a bare remote http://pastebin.mozilla.org/1376656 and yet the push seems to have been successful (i pulled from the bare to another repo, history looks ok) any help please?16:13
Guest64080 joined16:13
mattalexx left16:13
kai I don't actually care if that tree is called "master" or "bob"16:13
gebi left16:13
cbreak-work left16:13
nsevn hey- i'm a new git user and i'm having trouble figuring out the right way to organize my project in git16:13
my project combines three projects that are in other git repositories16:14
Drakonite2 joined16:14
nsevn each project will be in its own subdirectory at the root of my project16:14
Patabugen joined16:14
Guest64080 left16:14
axl_ left16:14
kai nsevn: do those subprojects change often?16:14
nsevn submodules don't seem to make sense because i'll be making a lot of local changes to each project16:14
kai ah :)16:14
ecthiender left16:14
antoniojasr left16:15
nsevn and different repositories don't seem to make sense because very often a commit will relate to all three projects at once16:15
intripoon_ joined16:15
nsevn but i do want to be able to merge changes from the external projects occasionally16:15
Drakonite3 joined16:15
nsevn i feel like i'm looking for some kind of "merge into directory" command16:16
Patabugen Hey. I've made some changes (including some file renames) and commited them. I then realised I should have done a merge first. What's the best way to sort everything out?16:16
Drakonite left16:16
Drakonite3 left16:16
axl_ joined16:16
nsevn where i can track each project as a local branch and then merge it into the corresponding subdirectory in my master branch when i need to16:16
does something like this exist?16:16
Patabugen I've been playing with git-diff and patch, but that's getting confused because of the file renames16:16
MUILTFN left16:16
ehsan joined16:17
nsevn Patabugen: i think you want to do "git reset --soft HEAD^" to undo the commit16:17
SethRobertson nsevn: Perhaps you should consider gitslave as an alternative to git-submodule, depending on your development workflow it may be better (or worse).16:18
nsevn Patabugen: then "git stash save" to save all your changes16:18
SethRobertson nsevn: gitslave (http://gitslave.sf.net) is useful when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time.16:18
nsevn: git-submodule is better when you do not control the subprojects or more specifically wish to fix the subproject at a specific revision even as the subproject changes upstream16:18
nsevn Patabugen: then do your merge and restore your changes with "git stash apply"16:18
mikepack joined16:18
Patabugen nsevn ahh thank you! I'll give that a go!16:19
Drakonite2 left16:19
Cope left16:19
nsevn SethRobertson: thanks, i hadn't heard of gitslave, i'll give it a look :)16:20
variable left16:20
tommyvyo left16:20
ouyes left16:21
MUILTFN joined16:21
regedit will git tell me "error: failed to push some refs to '/home/foo/bar'" if a post-receive hook fails on the receiving end of the push (such as not reading its STDIN or wtvr) ?16:21
thiago regedit: no16:21
regedit: post-receive failure does not count as Git error16:22
regedit: pre-receive failure does16:22
SethRobertson It does print the output of the script, though16:22
thiago regedit: but you get the log16:22
tommyvyo joined16:22
Praise left16:22
ShadesofGraylin| joined16:22
regedit i can blame most of the errors here http://pastebin.mozilla.org/1376656 on post-receive failure. but the last error still bothers me "error: failed to push some refs to '/home/foo/bar'"...16:23
Praise joined16:23
regedit why did that error happen and how come it looks as if the entire push DID succeed?16:23
(i pulled from the pushed repo and checked the history, looks like the push was ok)16:23
verto left16:24
Kulrak joined16:24
Kulrak left16:24
Kulrak joined16:24
nwp__ left16:24
Dreadnaught left16:24
bob_ joined16:24
tuxx- left16:25
ISF left16:25
tuxx- joined16:25
jwmann Can anybody explain this for me? http://d.pr/2jYn16:26
alvaro_o joined16:26
platzhirsch joined16:27
yrlnry You pushed to origin, but you should have pushed to upstream.16:27
jwmann^^16:27
regedit thiago: any idea? ^^^16:27
ipalaus_ left16:27
jwmann yrlnry: upstream is not my repo16:27
yrlnry jwmann: what exactly is it that you want to have explained?16:28
jwmann my master is a forked repo of upstream/master16:28
I pulled from upstream16:28
and somehow I'm AHEAD by 24 commits.16:28
gebi joined16:29
yrlnry jwmann: When it says "upstream/master", it means the local branch named "upstream/master" that is supposed to be tracking the actual master branch on the "upstream" remote.16:29
Patabugen nsevn: That's still giving me trouble because of the renames. It seems to be doing the rename before it does the modifications. Any ideas?16:30
yrlnry jwmann: when you "git pull upstream master" it gets the changes from the upstream master and pulls them into the local "master" branch and moves "master" forward 24 commits. But it doesn't change the "upstream/master" ref that is supposed to be tracking the upstream repo; that stays where it was.16:30
So master is now ahead of "upstream/master" by 22.16:30
24.16:30
codetroll joined16:30
yrlnry It is not, of course, ahead of the *actual* upstream master.16:30
Did that make sense?16:30
Liquid-Silence joined16:31
alvaro_o left16:31
traviscj left16:31
dcarper joined16:31
Sico joined16:32
ReekenX joined16:32
SicoWork left16:33
poppiez joined16:33
ks_Marian left16:34
bburhans left16:36
ShadesofGraylin| left16:36
marvin__ joined16:36
_aeris_ left16:37
Patabugen Can I stash some changes, but when I apply them tell git to forget about the file renames and put the things back where they were?16:37
platzhirsch left16:37
JeffJohnson left16:37
ChanServ set mode: +v16:37
Prasad joined16:37
mquin left16:37
_aeris_ joined16:37
bburhans joined16:38
marvin__ hi16:38
Hounth joined16:38
dreiss joined16:38
JeffJohnson joined16:38
JeffJohnson left16:38
JeffJohnson joined16:38
talexb Patabugen, Your question's not really clear.16:38
bburhans left16:38
talexb If you want to pop a stash, then rename files after that, go ahead and do that.16:39
Patabugen The problem I'm in is that I've made some changes including some file renames. I've then realised I should have done this after merging from master16:39
marvin__ I got some vendor linux kernel code, I checkout the mainline tree and unpacked the vendor code into the working tree.16:39
Patabugen I've tried using git-diff and patch, and stashing the changes first. But it all fails because I've got renamed files16:39
so it's not merging the file, then moving it, it's just creating the old one again16:39
marvin__ how to tell git diff to ignore the mode changes?16:39
or how to tell git to restore only the mode of all files it knows already off?16:40
Patabugen So I'm thinking if I can stash the changes leaving the files where they were before, the merge will be better and I can move them afterwards16:40
talexb Patabugen, It sounds like you know what you have to do.16:40
Patabugen I don't know how to apply the stashed changes without the renames though16:41
_md left16:41
talexb Patabugen, How about starting a branch, popping the stashed changes, renaming the files back to what they should be, then merging that branch into the master?16:42
Patabugen I guess I could16:42
I think it'll be easier just to make all the changes again16:43
bburhans joined16:43
_md joined16:43
Patabugen they weren't hard, just lots of re-naming :)16:43
giallu left16:43
Patabugen In the process I have learned how to move files without git losing their history though... so it's been worth the time16:43
talexb Right .. git mv is your friend.16:43
yuriks_ left16:44
yuriks_ joined16:44
yuriks_ neves uses git mv16:44
yuriks_ :[16:44
bremner git mv is a placebo16:44
Patabugen Will git mv also keep the history, even if I make changes in the same commit?16:44
traviscj joined16:44
bremner rename detection does not depend on git mv at all afaik16:44
baburdick joined16:44
drev1 joined16:44
Silex git mv is a shortcut for "cp oldname newname; git add newname; git rm oldname" afaik16:45
bremner that matches my understanding16:45
jwmann yrlnry: No that's doesn't make sense16:46
yrlnry: Do you think you could explain it? :(16:46
bremner I'm not even sure if it matters if the add and remove happens i the same commit.16:46
Patabugen I know you lose the history if you rename and edit in the same commit16:47
This article says if you do it in two commits you're OK http://blog.bauermann.eng.br/2008/01/03/take-care-when-renaming-files-in-git/16:47
regedit thiago: i deactivated (renamed) the post-receive hook and now pushes work just fine, otherwise i get "error: failed to push some refs to '/home/foo/bar'". given the fact that it doesn't even say [rejected] or such, i'm assuming this is a direct result of post-receive failures...16:47
bremner Patabugen: I suspect it depends how much you edit.16:48
jceb joined16:48
Patabugen I don't think it matters, though I've not specifically looked I have noticed that history was lost16:48
jaequery left16:49
AaronMT left16:49
jaequery joined16:49
bremner Patabugen: have you noticed renames detected with e.g. 85% written after them?16:49
msponge joined16:49
bremner those are combined edit+renames.16:49
AaronMT joined16:49
Patabugen Yeah, but then a git log -- path/to/file shows a shortened history16:49
bremner anyway, it's probably a good idea to do the edits in a seperate commit, independently of how it interacts with the rename detection heuristics16:50
JEEBczJEEB16:50
JEEB left16:50
JEEB joined16:50
Patabugen I think I will be doing so from now, it's caused quite a pain to have not done it this afternoon16:50
flavius joined16:51
ChanServ set mode: +v16:52
bob_ Why is there no 1.7.7.2 at http://code.google.com/p/msysgit/downloads/list ?16:52
dreiss left16:52
jast I think the msysgit maintainers don't build every single release16:53
anyway, they're human and don't always build everything instantly16:54
bob_ @jast thanks16:54
poppiez hi, might be a stupid question: I have a reposity that hosts my main website. here all my JS libs, default CSS classes etc. are included. now, I've created a new repo that I want to use as a submodule. for the repo to work, I have to include libs that my main website already uses. how would that work in practice?16:54
as I see it, I'll have files that overlap16:54
and if I provide a build script in my repo uses as a submodule, all the JS will be bundled as a single file16:55
bitkiller joined16:55
Praise left16:56
wbednarski joined16:56
Praise joined16:57
EugeneKay left16:58
dharrigan left16:59
mklappstuhl left16:59
EnderMB left16:59
EugeneKay joined16:59
Cipher-0 left17:00
phlipper joined17:01
dr_lepper left17:01
tshauck joined17:01
Praise left17:02
Jay_Levitt joined17:02
harshpb left17:03
harshpb joined17:04
SicoWork joined17:04
whitman left17:04
Sico left17:04
vdv joined17:04
marvin__ left17:05
Praise joined17:05
psoo_ left17:09
ArseneRei left17:09
Praise left17:09
Praise joined17:10
Praise left17:10
Praise joined17:10
regedit is there a linux command for "do nothing" ?17:10
teweWork left17:10
mmattice true17:11
arvind_khadri joined17:11
arvind_khadri left17:11
arvind_khadri joined17:11
regedit hm that works, thanks!17:11
Galaxor joined17:11
thiago :17:11
MacGyverNL left17:11
jrm2k6 left17:12
baburdick left17:12
mishok13 left17:12
thiago : works everywhere, but true is a Linuxism17:12
MacGyverNL joined17:12
MacGyverNL left17:12
MacGyverNL joined17:12
jast the BSDs have true as well17:12
scottschulthess left17:13
teweWork joined17:13
regedit thiago: it seems that a post-receive hook failure does not really stop a push from completing, but a (misleading) error "error: failed to push some refs to '/home/foo/bar'" still shows17:13
baburdick joined17:13
regedit it is (apparently) false; all refs have been successfully pushed17:13
mmattice thiago: : is a shell builtin. not a 'command'17:14
regedit how do i submit a bug to git?17:15
Galaxor Hi. I had a repo I was working on. I decided I wanted to share it, so I made a bare copy with git clone --mirror. It's all good, except that I had a development branch checked out in my work tree when I made the clone. Therefore, now, when you make clones off of the bare repo, you don't get master, you get my dumb development branch.17:15
jast regedit: post to the mailing list, see link in topic17:15
Galaxor Is there a way to change the default branch in the bare repo?17:15
jast Galaxor: you need remote shell access or something17:15
if you have that: git symbolic-ref HEAD refs/heads/otherbranch17:15
Galaxor jast: Aha. Glorious, thank you very much.17:16
alphacow joined17:16
mandric joined17:17
Raging_Hog joined17:18
regedit lol "true command- Do nothing, successfully"17:18
Hounth left17:18
wbednarski left17:19
MUILTFN left17:19
Liquid-Silence left17:20
hwrdprkns__ left17:20
Nikoli left17:20
Antisoche joined17:21
Liquid-Silence joined17:21
SethRobertson poppiez: have you figured it out?17:22
ipalaus_ joined17:23
bob_ left17:23
hwrdprkns_ joined17:23
flavius left17:23
MUILTFN joined17:24
airborn left17:24
kerrick joined17:25
Liquid-Silence left17:26
kenyon left17:26
shachaf_ left17:26
ipalaus_ left17:26
kenyon joined17:27
shachaf joined17:27
rhl joined17:27
hwrdprkns_ left17:27
innociv joined17:28
marvin__ joined17:28
MANCHUCK joined17:28
tshauck left17:28
MUILTFN left17:29
ipalaus_ joined17:29
ChanServ set mode: +v17:29
marvin__ any ideas what I can do about the wrong file modes?17:29
MANCHUCK how do I "merge" multiple submodules into 1 directory17:29
innociv_ left17:30
kedare joined17:30
kenichi joined17:31
DofLeFou joined17:31
psoo joined17:31
ReekenX left17:32
mirage335 left17:32
maletor joined17:32
nicoulaj left17:32
hwrdprkns joined17:32
infogulch joined17:32
MANCHUCK or better yet how can i have multiple submodules be in the same path?17:32
MUILTFN joined17:34
ipalaus_ left17:34
omn left17:35
kR15T0 left17:35
mandric left17:36
Araxia_ joined17:36
babilen left17:36
jast MANCHUCK: not possible17:37
PerlJam MANCHUCK: perhaps you could explain in more detail why you want what you want?17:37
jast you can create a new repository and merge two others together in it, then use that as a submodule17:37
not terribly maintenance-friendly, though17:38
MANCHUCK jast, I am using doctrine and I pulleld it in as a submodule however that has its own submodules17:38
jast oh.17:38
well, you can nest submodules recursively17:38
hwrdprkns left17:38
gusnan joined17:38
yakko joined17:38
MUILTFN left17:38
ipalaus_ joined17:39
charco left17:39
MANCHUCK how do I do that>17:39
marvin__ okay. try mailing list then17:39
niloc132 left17:39
teweWork left17:39
_kud left17:39
jceb left17:39
Octalot left17:39
yakko hey guys, 3 commits ago I did some stuff and I regret, how can I remove that commit's sha1 while still keeping the latest commits?17:40
JSHANAB_ left17:40
gebi left17:40
marvin__ not possible, yakko17:40
yakko marvin__, since it's a one file thing, can I unstage those somehow?17:41
jast uh what? of course it's possible17:42
yakko I don't mean to cherry pick17:42
jast it's only recommended if you haven't shared that commit yet, nor the newer ones17:42
baburdick left17:42
yakko I just wanna kill a commit ( I have it's sha1)17:42
hwrdprkns joined17:42
jast yes, but have you published that commit or the newer ones?17:43
yakko I'm the only developer in the project17:43
jast if you haven't, we can make it like the commit never happened17:43
all right17:43
the solution is git rebase. see the section 'interactive mode' in its manpage.17:43
marvin__ git rebase, for unpublished trees. but wont this change the other commit ids?17:43
baburdick joined17:43
jast interactive rebase is pure magic. :)17:43
sure will17:43
yakko I can checkout to a later one and remove it17:43
luxurymode joined17:44
airborn joined17:44
marvin__ git rebase to the previous commit id that you want to remove17:45
jast look, just use interactive rebase. remove the messed up commit from the list. done.17:45
psoo left17:45
MANCHUCK oh its just running git submodule update --recursive --init17:46
pidus joined17:46
dreiss joined17:47
whodevil left17:47
psoo joined17:47
asakura left17:47
iknite left17:47
ngulden left17:47
yakko marvin__, so "git rebase 9346327462398478293" will remove those changes?17:48
jast no.17:49
mirage335 joined17:49
jast reading the section about interactive rebase will remove those changes. indirectly. :)17:49
asakura joined17:49
MUILTFN joined17:49
jast git rebase <ID of broken commit> just won't do anything at all.17:49
marvin__ correct17:50
yakko what am I missing?17:50
marvin__ do an interactive rebae17:50
iXeno left17:50
tystr joined17:50
jast the part where you read about interactive rebase.17:50
tystr left17:51
roflin left17:51
Turicas joined17:51
babilen joined17:51
tystr joined17:52
roflin joined17:52
canton7 joined17:52
traviscj left17:53
Dreadnaught joined17:53
Dreadnaught left17:53
Dreadnaught joined17:53
EricDalquist joined17:54
Kulrak left17:54
ChanServ set mode: +v17:54
benrush left17:54
cytrinox joined17:54
kerrick left17:55
yakko there were people asking me something IRL17:55
ok interactive rebase, I'll give it a read17:55
padams left17:55
marvin__ git rebase -i commit-id~1 or something17:56
workmad3 left17:56
arvind_khadri left17:58
flyz_flyz17:58
Chillance joined17:58
achadwick left17:58
ksawicki joined17:58
iPHP left18:00
EricDalquist Is there a way to grab a folderfrom project A and move it into project B?18:00
marvin__ I got some vendor linux kernel code, I checkout the mainline tree and unpacked the vendor code into the working tree.18:00
I got some vendor linux kernel code, I checkout the mainline tree and unpacked the vendor code into the working tree.18:00
how to tell git diff to ignore the mode changes?18:00
PerlJam EricDalquist: just like you would with any other folder.18:00
marvin__ or how to tell git to restore only the mode of all files it knows already off?18:01
Suresht left18:01
marvin__ i want to find out what they did change. but git diff is showing me all the file modes changes as diffs. probably the tar was packed incorretly18:02
PySloan joined18:03
dobby156 left18:04
solofight joined18:04
ksawicki left18:04
mandric joined18:05
ksawicki joined18:05
bremner marvin__: look for core.filemode in man git-config18:05
jast marvin__: *automatic message* the 'git-config' manpage can be found at <http://git.kernel.org/?p=git/git-htmldocs.git;a=blob_plain;f=git-config.html;hb=master>18:05
solofight people when git is being installed it asks me to close other applications (the first screen of the installation process displays it)- any idea why ?18:05
thought i didnt close any application it installed successfully18:05
marvin__ if git doesn't have that functionality, it would be great if somebody add it18:05
EricDalquist left18:05
bremner solofight: that sound like a windows/msysgit thing, not git per se18:06
canton7 solofight, what are you using to install git? chances are it wasn't made by the git devs18:06
bremner jinx :)18:06
madduck left18:06
envi_ left18:06
solofight bremner, yes windows git18:06
canton7: am installing git on windows18:07
big_dog joined18:07
gebi joined18:07
_md left18:07
madduck joined18:08
mishok13 joined18:08
marvin__ excellent. filemode is my friend. thanks :-)18:08
tatsuya_o left18:09
codebeaker left18:10
big_dog left18:12
Jay_Levitt left18:12
yakko thanks for the rebase people people :D18:12
I'd never use that command, dead simple18:12
:DDDDDDD18:12
I was so afraid18:13
baburdick left18:13
prasadkr joined18:13
baburdick joined18:13
marvin__ this is also why you probably want to work on a seperate branch, but master :-)18:13
traviscj joined18:14
vdv left18:14
Prasad left18:14
stodan left18:14
big_dog joined18:14
soc42__ joined18:14
marvin__ left18:15
EricInBNE joined18:16
soc42_ left18:16
prasadkrPrasad18:17
amitayh joined18:17
niloc132 joined18:18
fermo left18:18
big_dog left18:18
cyphase left18:18
poppiez left18:19
Galaxor left18:19
talexb :( Just tried git-stitch-repo, and saw 'git-fast-import died of signal 9' after about 20 minutes. Swap was at 14.5G last time I looked.18:20
big_dog joined18:20
amitayh left18:22
codebeaker joined18:23
nsevn left18:23
k_89 joined18:24
k_89 what hashing algo does git use .. and does it use it per file basis??18:25
infogulch left18:25
talexb k_89, I think git uses SHA1 for hashing.18:25
k_89 talexb, k .. thanks18:26
talexb Each commit has a hash value .. not sure about whether each file has its own hash value as well.18:26
EugeneKay Yes.18:26
Everything is hashed.18:26
k_89 it should .. how else would it check for changesi n files18:26
shruggar joined18:27
big_dog left18:27
k_89 hmmm... i'm gonna make a git like thing (without rollbacks) for dbs in php18:28
canton7 k_89, it's more than that. !bottomup18:28
jast k_89: *automatic message* 'Git from the bottom up' starts with explaining the building blocks of git and proceeds to tell you how they fit together. http://ftp.newartisans.com/pub/git.from.bottom.up.pdf18:28
_kud joined18:28
guardian left18:28
EugeneKay k_89 - make sure to look up libgit2 and php-git on Github.18:30
gragoery joined18:30
k_89 EugeneKay, k .. thanks18:30
codebeaker left18:30
cyphase joined18:30
gragoery left18:31
shruggar left18:31
niloc132 left18:32
berserkr left18:32
k_89 left18:32
_kud left18:33
cannonball left18:35
doshi joined18:35
PigeonFriend left18:37
solofight people apon seeing people not replying as soon as i said i installed git on windows i understand i am in the wrong room ? if correct please point me to the right direction ?18:37
my question was18:37
people when git is being installed it asks me to close other applications (the first screen of the installation process displays it)- any idea why ?18:37
thought i didnt close any application it installed successfully18:37
CannedCorn joined18:37
CannedCorn left18:38
talexb solofight, I'm not that familiar with Windows, but it doesn't always behave well during installations. Contention of the registry, perhaps?18:38
tvw left18:39
Jay_Levitt joined18:40
solofight talexb: i have around 12 programs opened and i was still able to install it succesfully18:40
?18:40
64MAA169ILiohAu18:40
talexb solofight, No idea. Ask Microsoft.18:40
solofight talexb: ok thanks for your time18:40
bremner err, whomever makes git-for-windows18:40
cbreak solofight: windows is weird18:41
canton7 solofight, that's the juristiction of the msysgit team. It's probably just for safety. Lots of programs seem to do it18:41
bremner where if FauxFaux when we need him to defend windows18:41
FauxFaux Watching Harry Potter and talking to my significant other.18:41
Cipher-0 joined18:42
spyrospyraway18:42
dr_win left18:43
baburdick left18:43
baburdick joined18:43
Patabugen left18:45
Swimming_Bird left18:46
eeadc left18:46
t4nkd joined18:46
eeadc joined18:46
ColKurtz joined18:47
msponge left18:49
_iron joined18:50
kerrick joined18:50
sedwards joined18:50
drev1 left18:51
swombat left18:51
Prasad left18:51
solofight canton7: exactly am wondering for long time now18:51
innociv left18:51
variable joined18:51
drev1 joined18:51
variable with git-svn how do I "pull" updates ?18:51
canton7 git svn rebase18:52
psakrii left18:52
flavius joined18:52
variable canton7: thanks18:52
sedwards left18:52
sedwards joined18:52
innociv joined18:52
sedwards left18:53
canton7 solofight, from googling, it seems to be to avoid a (remote) chance of a shared dll/exe/whatever being used by another program during installation18:54
sedwards joined18:54
sedwards left18:54
sedwards joined18:54
canton7 (if it is being used elsewhere, a reboot will be required to complete the installation)18:54
sedwards left18:54
sedwards joined18:54
sedwards left18:54
sedwards joined18:54
canton7 iirc, ext uses a system where currently-in-use files can be modified, and new programs get the new version, programs using it prior to the change get the old version... So this issue doesn't occur. It's also why linux updates don't require a restart (except for kernel upgrades)18:55
solofight canton7: yeah lot of people say lot of things. when i googled found out that its to save memory which is required in huge amounts while installation process which also makes sense ?18:55
canton7 could, could. I suspect that's less of an issue nowadays, though18:56
icwiener joined18:56
canton7 I suspect the main motivation is "everything else says it, and we might as well be on the safe side"18:56
abyssal joined18:56
sedwards left18:57
ProLoser|Work joined18:57
solofight canton7: a shared dll/exe being used ? you mean replacing a shared dll/exe when its being used by other programs ?18:57
canton7 possibly. On that point, I'm parroting what I've read elsewhere :P18:58
solofight canton7: you say ext file systems maintain multiple copies of files ? old for programs which are already using it and new one for upgraded/newly installed programs ?18:58
doshi left18:58
canton7 http://it.toolbox.com/blogs/locutus/why-linux-can-be-updated-without-rebooting-1282618:58
that's where I first read it, I think18:58
doshi joined18:59
solofight canton7: thank you. will read now18:59
canton7 I remember another article decribing how to recover a file that you'd just deleted, but was still referenced by something... or other. Can't remember the details off the top of my head18:59
abyssal left19:00
canton7 this looks similar: http://linuxshellaccount.blogspot.com/2008/08/recovering-deleted-files-by-inode.html19:00
jast ext2/3/4 don't allow modification of files that are already open for writing by another application19:00
but it's possible to delete a file that's open for reading19:00
canton7 jast, open for reading, then19:00
aha19:00
jast I'm not sure about modifying a file that's open for reading19:01
most of the time, updates don't modify the existing file but just clobber it and write a new one19:02
canton7 it appears at least executables are loaded into memory prior to execution, so changing the file on-disk doesn't affect the one that's executing19:02
jast yep19:03
storrgie joined19:03
p3rror left19:03
MUILTFN left19:03
ner0x joined19:03
_Vi left19:03
jast works the same way on windows... but the file is still open in both cases, and windows won't let you change/delete it19:03
ner0x Is there a way to ignore a directory in a file tree?19:03
canton7 man gitignore19:04
jast *automatic message* the 'gitignore' manpage can be found at <http://git.kernel.org/?p=git/git-htmldocs.git;a=blob_plain;f=gitignore.html;hb=master>19:04
_Vi joined19:04
EricInBNE left19:04
CannedCorn joined19:04
iXeno joined19:05
ner0x canton7: I used git ignore and it doesn't seem to be working.19:05
canton7 ner0x, is the file tracked?19:05
git won't ignore tracked files/folders19:05
ner0x canton7: Brand new files19:06
desaila joined19:06
ner0x Actually, adding t/files seemed to do the trick, odd.19:06
canton7 ner0x, what's the contents of your .gitignore, where is it, and where are the files?19:06
hmmm19:06
kerrick left19:06
guy___brush joined19:06
ner0x base/t/files is what I was trying to get rid of. Added t/files to base/.git/info/exclude and it seemed to work.19:06
hurikhan|Work left19:06
desaila if you're on a local branch, and you do something like, "git pull origin master", does it automatically update your branch's code as well?19:07
Cogito left19:07
dcarper_ joined19:07
canton7 desaila, it will update all local-tracking branches, and merge origin/master into the local branch19:07
Cogito joined19:07
canton7 ahem, remote-tracking branches. the ones that begin with "origin/"19:07
dcarper left19:08
desaila ah19:08
alecthegeek joined19:08
desaila so how do pull origin/master into my local branch without creating a new branch?19:08
or is that a merge operation?19:08
canton7 a pull is a fetch plus a merge19:08
it's a shortcut, if you like19:08
heinrich5991 left19:08
jast 'git pull origin master' merges into the currently checked out branch19:08
desaila ^19:08
phishy joined19:08
desaila that's what i thought jast19:08
p3rror joined19:09
canton7 hmm, i should have said "merge origin/master into the currently-checked-out branch", not "local branch"19:09
clarity fail19:09
doshi left19:09
MUILTFN joined19:10
heinrich5991 joined19:10
Vile left19:10
aspotashev| joined19:10
sheriff left19:10
UnsignedCode joined19:10
swombat joined19:11
alanp_ joined19:11
kerrick joined19:11
vdv joined19:11
UnsignedCode hi all, running gitosis on Ubuntu for personal projects… do I have to connect to the server every time I want to 'create' a new project from Windows, and create it there first, edit the gitosis-conf file etc...19:12
kriegerod left19:12
alecthegeek_ joined19:12
kevlarman UnsignedCode: no, in fact you shouldn't ever do that19:12
Kotoc left19:12
kevlarman UnsignedCode: clone the gitosis-admin repo19:12
alecthegeek left19:13
alecthegeek_alecthegeek19:13
kevlarman and edit there19:13
carutsu joined19:13
kevlarman when you push, the server's configuration updates19:13
UnsignedCode but i need to do something on the server for every project?19:13
kevlarman UnsignedCode: also, !gitosis19:13
jast UnsignedCode: *automatic message* gitosis is no longer maintained and supported by the author; we usually recommend gitolite instead which has much better documentation and more features: http://github.com/sitaramc/gitolite19:13
UnsignedCode no way to say "dump this project over there"19:13
kevlarman UnsignedCode: you need to update gitosis-admin for every project19:13
joch_n joined19:14
baburdick left19:14
canton7 UnsignedCode, you can set up permissions for entire folders, with the create permissions (gitolite only I think?), then just push new projects to the folder19:14
UnsignedCode that's the kind of thing i'm looking for.19:14
for the short term, there's only me working on these things.19:14
canton7 the line from my gitolite config file:19:14
p3rror left19:15
EugeneKay gitolite has CREATOR syntax you can abuse19:15
baburdick joined19:15
alanp left19:15
canton7 repo projects/.*\nC = canton7\nRW+ = canton719:15
carutsu I have an alias that works in the command line but not when added to my .gitconfig file19:15
here's it pristine = !git clean -fxd -e \*.kdev4 -e .kdev4/ && git reset --hard19:15
UnsignedCode ok, so steps to get rid of gitosis and get gitolite set up? :)19:15
carutsu how do I debug it?19:15
EugeneKay Gitolite has a migrate doc19:16
UnsignedCode ooooh.19:16
EugeneKay http://sitaramc.github.com/gitolite/migr.html19:16
UnsignedCode magic.19:16
doshi joined19:16
UnsignedCode thanks very much.19:16
i'll have a poke around.19:16
does gitolite use keys like gitosis or passwords?19:17
(or configurable)19:17
kevlarman keys19:17
workmad3 joined19:17
UnsignedCode thanks. i'll give this migration a go.19:17
canton7 yeah, the concept's pretty much identical19:17
doshi left19:17
guardian joined19:18
Know1edge left19:18
Know1edge joined19:19
gusnan left19:19
stepnem left19:21
nixmaniack left19:21
lindenle left19:22
stepnem joined19:22
workmad3 left19:23
NetHawk left19:23
kevwil joined19:23
p3rror joined19:24
rzec joined19:24
marekw2143 joined19:25
marekw2143 what's the difference between push and pushurl?19:26
ProLoser|Work push url?19:27
i don't know of a command that has pushurl19:27
canton7 neither does google19:27
p3rror left19:28
ProLoser|Work i know of git push <url> branch19:28
ner0x So let me git this straight. Git will add all the files to .git/objects even if they are untracked?19:28
marekw2143 nono, but there's config parameter when doing: git config remote.origin.pushurl19:28
ner0x Just as a hash? Or what?19:28
ProLoser|Work wonders if ner0x's pun was deliberate19:28
canton7 ner0x, no. git ignores untracked files19:28
jmah ner0x: if you "git add" a file, a blob for it gets added to objects and it becomes tracked.19:29
ProLoser|Work ner0x: have you worked with svn?19:29
jmah (even though it may not be in a commit yet)19:29
canton7 marekw2143, aaah. I believe that's for if you want to push somewhere different to where you pull from19:29
ProLoser|Work but if you remove it before committing it i think it's taken out of the objects19:29
ner0x Well, when I do git status, the files are not there. Git add . also does not add them. But when I upload the entire directory to my backup server, it's making a .git/objects file for each... Very odd.19:29
marekw2143 canton7: thanks19:30
canton7 it'll sit there for x days, won't it?19:30
marekw2143 and what is remote.origin? is it the default remote repository, e.g. the one that is used when doing: git push19:30
ProLoser|Work ner0x: why don't you just git push to a backup server?19:30
marekw2143: usually19:30
ner0x ProLoser|Work: More than just the app that has to get backed up, it's just one folder located in centralized folder.19:31
canton7 ProLoser|Work, it remains in objects if you un-add an untracked file19:31
ProLoser|Work but i think that's more convention than anything else19:31
jmah marekw2143: "origin" is the default remote name for an upstream repository, like "master" is the default branch name (but there's nothing special about the name)19:31
ProLoser|Work what's in a name?19:31
marekw2143 jmah: so when doing push then always name of remote repository should be specified?19:31
ProLoser|Work would a rose by any other name still smell as sweet?19:31
p3rror joined19:31
yakko left19:31
ProLoser|Work probably if it was called shit-tulips19:32
sudanix joined19:32
canton7 marekw2143, look at push.default19:32
swombat left19:32
ner0x It's adding 1 byte files under .git/objects for each object, but not tracking it.19:32
canton7 ner0x, when you do what? add the file?19:32
jmah marekw2143: each branch can be configured to track a certain upstream branch19:33
if you "git push -u myremote mybranch", the -u sets the default upstream for mybranch to myremote/mybranch19:33
ner0x canton7: After I've done a git add .19:33
jmah then plain "git push" will use that by default19:33
canton7 jmah, only when push.default is set to upstream, which it isn't by default19:33
ner0x, that's right. the object is created when you add the file to the index19:34
ner0x canton7: But it is indeed still not tracked?19:34
angelsl left19:34
canton7 (the object is compressed. I suspect the min filesize on yoru filesystem is 1 byte)19:34
ner0x, it isn't tracked until you make a commit, no19:34
ner0x But should show up in git status?19:35
canton7 hmm? Yes. Git status shows all (well, except ignored) files19:35
that are changed19:35
(or added, removed, untracked, etc)19:35
ner0x canton7: These files do not show up in git status.19:36
But an object file is created for them.19:36
Most odd.19:36
soc42__ left19:36
marekw2143 hmm, what's upstream branch?19:36
is it the branch which was branched ?19:37
canton7 ner0x, what are you doing exactly? step by step?19:37
ner0x candybar: Well, I'd like to remove all files from t/files from being tracked, currently they are showing up in git status.19:37
canton7: ^ sorry19:37
canton7 marekw2143, depends on the context tbh. In the context of push.default, it's the branch you set as the upstream branch, using push -u or branch --set-upstream. Git also sets the config automatically when you create a local branch based off a remote one19:37
ner0x, git rm --cached t/files ?19:38
eletuchy joined19:38
ner0x canton7: Okay, good so far. Now add t/files to .git/info/exclude?19:38
canton7 commit the removal19:39
whitman joined19:39
canton7 then add t/files to .git/info/exclude19:39
ner0x Alright. Done.19:39
aisipos joined19:39
ner0x All of the git object remain. :-/19:40
.git/objects have not gone away19:40
gusnan joined19:40
jmah ner0x: have they been committed?19:40
(the t/files)19:40
ner0x jmah: I never once have I committed them after seeing them in git status.19:40
canton7 ner0x, the file's object in .git/objects won't go away until git gc cleans it up, which will be another 90 days or so19:40
ner0x canton7: Can I do it manually?19:41
marekw2143 so for example git push origin master:satellite/master will push changes in local master to the master branch on what?19:41
wbednarski joined19:41
marekw2143 that example is from git push help19:41
canton7 ner0x, if the files were ever tracked, they'll always remain in .git/objects19:41
jmah canton7: blobs don't have a date, won't they go away immediately?19:41
ner0x canton7: They were never tracked.19:41
canton7 jmah, let me test..19:41
jmah ner0x: try "git prune --dry-run"19:41
flyz left19:42
canton7 jmah a straight gc doesn't clear them. a git gc --prune=now did, though19:42
ner0x jmah: Tons and tons of blobs listed.19:42
macmartine joined19:42
jonatasnona left19:42
canton7 prune, by default, takes 90 days iirc19:42
kevlarman 3019:42
canton7 ner0x, git gc --prune=now19:42
Swimming_Bird joined19:42
canton7 hmm, 14 according to the man page, kevlarman19:43
kevlarman weird19:43
i would have expected 30 just like the reflog19:43
canton7 well, that's the value of gc.pruneexpire, which I assume is what we're after19:43
ner0x canton7: Looks like that worked. objects are now 1.2 MB, which sounds about right.19:44
canton7 the reflog (gc.<pattern>.reflogexpire is 90 days, kevlarman19:44
baburdick left19:44
canton7 (which is where I got my 90 days from, under much the same assumption)19:44
ProLoser|Work hey19:45
git stash apply --index 1 isn't working19:45
what's the proper order if i want the stash at index 1 (not index 0)19:45
ner0x canton7++ # thanks19:45
jmah++ # thanks19:45
canton7 kevlarman, or actually, reflogexpireunreachable is probably what we're after, in which case you're right on that one19:45
baburdick joined19:45
jmah ProLoser|Work: "git stash apply stash@{1}"19:46
ProLoser|Work oh that's the stash name?19:46
i thought i just use the 119:46
jmah this way works, I'd love to hear if there's another way19:46
canton7 "If the --index option is used, then tries to reinstate not only the working tree’s changes, but also the index’s ones. However, this can fail, when you have conflicts (which are stored in the index, where you therefore can no longer apply the changes as they were originally"19:46
kvanderwkvanderw|lunch19:47
canton7 so --index *isn't* what you're after19:47
shruggar joined19:47
p3rror left19:48
spatulasnout joined19:49
mysphyt joined19:49
Kazii joined19:49
PySloan left19:52
wbednarski left19:53
harshpb left19:53
n8o-mba left19:54
OOPMan left19:54
guardian left19:55
solofight left19:55
poppiez joined19:56
pfsmorigo left19:57
kenichi left19:58
aspotashev| left19:58
infogulch joined19:58
Nikoli joined19:58
infogulch left19:58
retoryter joined19:59
retoryter left19:59
alecthegeek left20:00
tvw joined20:00
marthinal joined20:00
rzec left20:00
dfr|mac left20:01
mysphyt left20:02
n8o-mba joined20:02
p3rror joined20:02
koo6 left20:03
boombatower joined20:04
ipalaus_ left20:04
alecthegeek joined20:05
omn joined20:05
Spockz left20:06
codebeaker joined20:07
kerrick left20:08
pidus left20:09
OOPMan joined20:09
ner0x left20:09
kvanderw|lunchkvanderw20:10
FylGood joined20:11
workmad3 joined20:11
infogulch joined20:11
dc5ala left20:12
agile left20:14
giallu joined20:14
baburdick left20:15
srji joined20:15
ketas left20:15
ketas joined20:15
comawhite left20:15
comawhite joined20:15
oc80z left20:15
baburdick joined20:15
p3rror left20:16
nyuszika7h left20:16
UnsignedCode left20:17
oc80z joined20:17
arnpr joined20:17
arnpr is there any support for gitolite here? it keeps asking my new user about a password, I already copied his public key and added him to admin repo20:18
canton7 yeah, we handle gitolite queries. sitaram is normally lurking for the really complex questions, too :)20:19
the new user... does he have his private key set up correctly? permissions right? is he using sudo? what does ssh -vvv git/gitolite:host give?20:19
arnpr canton7: how can I know if his key is correctly setup? he made it with ssh-keygen20:20
I added it to the keydir/ and made a new project and gave him RW+20:20
canton7 arnpr, well these are the most common ssh problems. chances are the key problems are on his end20:21
agile joined20:21
the_metalgamer left20:22
canton7 if he's being asked for a password, then either gitolite hasn't accepted his key, or he's set his side up wrong. have a look in <gitolite-home>/.ssh/authorized_keys. Don't mod anything, but see if his public key's in there20:22
if it is, the problem is almost certainly on his end20:22
nyuszika7h joined20:23
ldlework joined20:23
ldlework If I have a repository that contained a/ and b/ and I want to take b/ and all history concerning it and break it out into a seperate repo, that's pretty much flagrant wishful thinking?20:23
canton7 git filter-branch --subdirectory-filter20:24
ldlework wo20:24
w20:24
lamont left20:24
canton7 more common than you'd think :P there are lots of SO posts on it, some tuts, and the man page gives good examples20:24
codebeaker left20:24
ldlework canton7, what happens, if you know offhand, if a commit touched both? Is the commit present in the new history?20:24
canton7 I believe it just takes the original repo, and rewrities it to be the subdirectory only. you need to play another trick to remove a/ from the original repo20:25
thedeeno joined20:25
dfr|mac joined20:25
canton7 (not a complex trick, though)20:26
BlindOracle left20:26
Vile joined20:26
alecthegeek left20:26
jmah ldlework: I did this when converting a complex repo from svn20:26
canton7 the first two examples on the man page will cover you20:26
jmah you'll need a good understanding of git20:27
(if you want to go the whole way)20:27
eletuchy left20:27
jmah in summary, use filter-branch --subdirectory-filter to make a new repo with that dir20:28
dcarper_ left20:28
jmah then I made a file mapping the commits to the trees20:28
then in the parent repo, make a script that for each commit, copies the tree of the subdir, deletes the files, and makes a submodule ref with the corresponding commit (looking up the commit corresponding to the tree)20:29
_ikke_ I'm running behind a firewall now, but I have access to a VPS. My plan was to make an ssh tunnel to forward the port to the server: ssh -f user@host -L 9418:github.com:9481 -N. I added a remote with the following url: git@localhost:username/repo.git. But when I try to push to it, it asks for a password for git@localhost. Why is that?20:29
canton7 jmah, was that necessary? surely filter-branch --index-filter 'git rm --cached --ignore-unmatch a' HEAD will trips a/ from the origin repo? aaah you were setting it up as a submodule20:29
jmah indeed.20:29
not sure if Idlework wants to go that far20:30
CareBear\ _ikke_ : user@host is the short version of scp URLs20:30
_ikke_ : try git://localhost/username/repo.git20:30
_ikke_ : I might just push to the VPS and let the VPS push to github20:31
verto joined20:31
alecthegeek joined20:31
_ikke_ CareBear\: I would still need to create a tunnel to push to the VPS20:31
arnpr canton7: we remade the key and re-added it to the repo, and problem persist20:31
I checked the authorized_keys file but don't know what I should be looking for, canton720:31
canton7 arnpr, have you tried answering any of the questions I asked you?20:32
_ikke_ CareBear\: And user@host normally works for ssh20:32
ThomasLocke left20:32
btanaka joined20:32
canton7 arnpr, in the authorized_keys in gitolite's home dir, you're after a line which begins "command=/some/path/gl-auth-command <his username>",somestuff ssh-rsa <his public key20:33
alecthegeek left20:33
canton7 arnpr, it's far, far more likely that the problem is on his end, though20:33
CareBear\ _ikke_ : git runs transparently over ssh20:33
ThomasLocke joined20:33
CareBear\ _ikke_ : if you can ssh to the vps and set up a tunnel then git can also ssh to the vps and transfer stuff20:33
_ikke_ CareBear\: right20:34
CareBear\ _ikke_ : port 9418 does not use ssh20:34
_ikke_ : port 9418 is git:20:34
_ikke_ CareBear\: Got it20:34
CareBear\ _ikke_ : git over ssh always uses port 22 like every other ssh20:34
TrineLocke left20:34
_ikke_ yup20:34
Still need to use 44320:34
22 is blocked too20:34
kerrick joined20:34
CareBear\ that's fine20:34
git will run ssh20:34
so you just add a stanza in .ssh/config20:35
_ikke_ ok20:35
canton7 arnpr, quick checklist for you, on his machine: 1. does ~/.ssh/id_rsa exist? 2. does it have 600 permissions? 3. does .ssh have 700 permissions? 4. what does "ssh -vvv git@your_machine" give? (I'm assuming the gitolite user is git. Correct if it isn't)20:35
ofus left20:35
lamont joined20:36
CareBear\ echo -e 'host myvpson443\n port 443\n hostname myvpspublicip' >> ~/.ssh/config && git add remote vps myvpson443:repo.git20:36
_ikke_ : ^20:36
workmad3 left20:36
CareBear\ _ikke_ : then, git push vps master will end up using ssh to port 443 on the vps20:36
dilfridgedilfridge_20:37
dilfridge_helium-420:37
helium-4dilfridge20:37
saschagehlich left20:37
dilfridgehelium-320:37
alphacow left20:37
helium-3dilfridge20:37
srji left20:38
khmarbaise joined20:38
dirkle joined20:39
srji joined20:41
dv310p3r left20:42
nyuszika7h left20:43
ldlework jmah, I don't want submodules. I want a/ and b/ to be seperate repositories, both taken from the original repo20:43
lamont left20:43
ldlework I don't need the original repo any longer, but each of the two new repos need their relevant history20:43
canton7 ldlework, nice and easy, then. follow the example from man git-filter-branch20:43
jast ldlework: *automatic message* the 'git-filter-branch' manpage can be found at <http://git.kernel.org/?p=git/git-htmldocs.git;a=blob_plain;f=git-filter-branch.html;hb=master>20:43
ldlework Is it enough to run filter-branch on each subdirectory to get two new?20:43
canton7 yes20:43
ldlework Nice.20:43
thank you20:44
ReekenX joined20:44
jmah just duplicate the repo first20:44
sudanix left20:44
canton7 bear in mind that filter-branch will operate on the repo you run it in20:44
so, yeah, duplicate it furst20:44
baburdick left20:45
infogulch whoa my whole git directory is a friggin mess, but github is fine. how do i completely reset it to match exactly what it is on github20:45
baburdick joined20:45
canton7 infogulch, git fetch. for each branch you want to reset, 'git reset --hard origin/branchname'20:46
infogulch ty20:46
canton7 well, checkout the branch first, then reset20:47
infogulch oh ok20:47
canton7 (as reset operates on the current branch)20:47
infogulch it's not working...20:47
canton7 ok, so what are you running, and how do you know it isn't working?20:47
Kazii left20:47
infogulch i only have one branch, "master"20:47
i'm running: git reset --hard origin/master20:48
and i know it's not working because when i run git status it shows a bunch of untracked files20:48
lamont joined20:48
psoo left20:48
infogulch unless that would be fixed with something else20:48
canton7 git won't touch untracked files. use git clone -dfx to nuke those (git clean -dxn to test what will be removed first)20:48
ack20:48
git clean20:48
ThomasLocke left20:49
canton7 can't type tonight20:49
infogulch ah i see20:49
LongBeach joined20:49
mishok13 left20:49
ipalaus_ joined20:50
ldlework canton7, git clone original separated; cd separated; git filter-branch --subdirectory-filter b HEAD --prune-empty; git remote rm origin; git reset --hard; rm -rf .git/refs/original/; git reflog expire --expire=now --all; git gc --aggressive --prune=now; ?20:51
canton7 no! git clone with that syntax will usee hardlinks20:51
ldlework okay, adding --no-hardlinks20:51
canton7 either use file:/// syntax, or just us a box-ordinary copy -- that's safest :P20:52
*bog-ordinary20:52
infogulch whew much better20:52
_ikke_ CareBear\: I'll just use https20:52
ldlework Not sure what a box-ordinary copy is20:53
stickyboot joined20:53
DAAN5U1 joined20:53
ahmedkotb joined20:53
canton7 ldlework, you'll also probably want git filter-branch --subdirectory-filter a --prune-empty -- --all. Then you can clone it, which is the easiest way of cutting out the crap20:53
sorry, I mean bog-ordinary. as in, cp -R20:54
srji left20:55
metcalfc joined20:56
infogulch heh, i suppose dropbox really doesn't like symlinks xD20:56
marthinal left20:56
_ikke_ infogulch: I don't have any problems with symlinks in dropbox20:57
LiohAu left20:57
the_metalgamer joined20:57
infogulch i'm symlinking one github repo into a subdir of another20:58
on multiple computers...20:58
lets just say it wasn't pretty and that i'm glad i pushed to github last night20:58
arnpr canton7: worked like a charm, think it was the name of his pub key20:59
canton7 arnpr, sweet!20:59
arnpr which wasnt id_rsa, changed that and eprmissions, worked20:59
canton7 ssh problems usually boil down to 2 or 3 things. those are the main 221:00
Jackneill left21:02
nyuszika7h joined21:05
the_metalgamer left21:05
alecthegeek joined21:07
kerrick left21:08
FylGood left21:10
workmad3 joined21:13
marekw2143 left21:15
GunArm left21:16
baburdick left21:16
mastro left21:16
mishok13 joined21:17
baburdick joined21:17
alecthegeek left21:18
dfr|mac left21:18
GunArm joined21:18
cburroughs left21:18
the_metalgamer joined21:19
pantsman joined21:19
pantsman left21:19
pantsman joined21:19
heptadecagram left21:20
mklappstuhl joined21:20
cortana` left21:20
GunArm left21:21
iXeno left21:22
Raging_Hog left21:22
dfr|mac joined21:22
GunArm joined21:23
dfr|mac left21:23
GunArm left21:23
mithridates joined21:24
mithridates does git use mmap to read/write/search data for its objects?21:25
my eyes are so tired to check the code :(21:25
FauxFaux "git grep mmap" in git.git returns loads of things including in sha1_file, the internals of hash-object.21:26
khmarbaise left21:27
workmad3 left21:27
CareBear\ _ikke_ : why https?21:27
Shusshu left21:27
phishy left21:28
arnpr left21:28
btanaka left21:28
bindaasomatic left21:28
poppiez left21:29
jonnyATroot joined21:29
jacknagel joined21:29
Turicas left21:30
jacknagel left21:30
kl4m left21:30
neurodrone joined21:31
alex__c2022 joined21:31
_ikke_ CareBear\: Because I then can directly connect to github in stead of using my vps21:31
dfr|mac joined21:32
mithridates FauxFaux: what are the internals of hash-object? what do u mean by hash-object? it's a new terminology in git!21:32
FauxFaux mithridates: hash-object is the thing that creates entries in the object database, in .git/objects. man git-hash-object21:32
_ikke_ mithridates: git hash-object is a git command21:32
jast mithridates: *automatic message* the 'git-hash-object' manpage can be found at <http://git.kernel.org/?p=git/git-htmldocs.git;a=blob_plain;f=git-hash-object.html;hb=master>21:32
jmah mithridates: hashing is kinda core to git21:32
why are you wondering about mmap?21:33
mithridates I'm making a system similar to git's db, I do hashing for names, and I want to write/read data on files so I was wondering how git handles these stuff21:33
I asked in #c what's the most efficient way to do that, they said mmap so I thought git should use that too for its objects21:34
cooloney joined21:34
flavius left21:35
dfr|mac left21:35
cbreak do you even have a clue what mmap is?21:35
dfr|mac joined21:35
mithridates I think I know, it takes a chunk of memory and write it to a file21:35
that's the impression that I get from its name and header of its man page21:36
cbreak nope21:36
mithridates so I guess I can put my structs or whatever there21:36
so what is it?21:36
cbreak it's a method to map a file into memory21:36
ProLoser|Work git stash pop like git stash apply + drop?21:36
cbreak instead of reading it21:36
neurodrone left21:36
canton7 ProLoser|Work, yes21:36
cbreak ProLoser|Work: yes21:36
Wilto joined21:36
ProLoser|Work cool21:37
mithridates cbreak: oh cool, but how does it handle data types? does it make everything char * ?21:37
Wilto left21:37
cbreak mithridates: it has advantages over simply reading a file sequentially if you do random access or the file is big21:37
no21:37
it does not handle data types21:37
babilen left21:38
cbreak as the name says, it maps raw memory21:38
-> if you store things like integers, floats or even pointers, you're in deep trouble :)21:38
airborn left21:38
leen^| left21:39
mithridates right, so whats its advantage to simple open the file and read it? does it just save the time of for each line going to the disk, getting data and read it to memory? and load the whole file at once?21:39
jtr__ joined21:40
booginga joined21:40
youngblood joined21:40
mishok13 left21:41
eletuchy joined21:41
mithridates copy everything from the location of file on disk to memory only one time?21:41
like if I have 2kb file, it makes 2kb space on memory and drag and drop all data from the disk on that space?21:41
frogonwheels joined21:42
kpreid joined21:42
Davey left21:43
oriba joined21:43
p3rror joined21:44
stickyboot left21:44
flijten left21:44
Cipher-0 left21:44
airborn joined21:44
CannedCorn left21:45
airborn left21:45
mithridates I think I don't make sense right now, thanks anyway21:45
airborn joined21:45
stickyboot joined21:46
baburdick left21:46
canton7 well tbh, this is #git, not #c. cbreak knows a lot of C, but, of the regulars, he's probably in the minority. basically, don't be too surprised if you don't get answers to very off-topic questions :)21:46
airborn left21:47
cbreak mithridates: it uses the Virtual Memory subsystem21:47
so it can map in and out pages as needed21:47
-> you use less memory, and random access is faster21:48
Kazii joined21:48
cbreak (and/or easier)21:48
page size is 4kb on Mac OS X21:48
I think that's similar on Linux and Windows21:48
airborn joined21:48
gigamonkey left21:49
cbreak also, block size of new hard disks is also 4kb21:49
CareBear\ mithridates : yes, you got it. when you use mmap, the system drags and drops the file21:49
that's exactly how it works21:49
__class__ left21:49
CareBear\ "it's a unix system. I know this!" (bonus points: name the film!)21:49
bartek left21:50
baburdick joined21:50
_ikke_ Jurasic Park21:50
CareBear\ points for you21:50
alecthegeek joined21:51
sangeeths left21:51
estan_ left21:51
boombatower left21:52
jmah CareBear\: keep in mind, mmap doesn't work on systems without a mouse (like servers) because the dragging is crucial21:52
_ikke_ lol21:52
NetHawk joined21:52
ldlework left21:52
koo6 joined21:53
_ikke_ Sometimes when you can't find the mouse pointer, it's the system dragging page files21:53
CareBear\ mithridates : mapping is a concept of exposing something in a different way21:54
airborn left21:54
CareBear\ mithridates : memory mapping is the concept of exposing something as if it was memory, even though it is not memory21:54
jmah mithridates: it's kinda like "mounting" a file into memory21:54
CareBear\ mithridates : files can be memory mapped, and hardware devices can also be memory mapped21:54
airborn joined21:54
mithridates thanks a lot guys, I logged this conversation and I will read it later, I must go. Thanks a lot!21:55
talexb Crap .. did a reset --hard and lost the merge updates I'd done ..21:55
cbreak more specifically: the memory of devices can.21:55
CareBear\ mithridates : this is significant, because accessing memory is very easy for programs (as you know, there is a mov instruction for this)21:55
canton7 talexb, have you come across the reflog?21:55
CareBear\ cbreak : not neccessarily21:55
cbreak talexb: merge updates?21:55
s0ber_ joined21:55
canton7 (assuming you did the merge, then undid it...)21:55
talexb canton7, Not often enough :/21:55
alecthegeek left21:55
jmah talexb: was your stuff (ever) committed?21:55
talexb jmah Yes.21:56
cbreak I wonder if he meant "Merge conflict resolutions" when he said "merge updates"21:56
CareBear\ mithridates : so instead of a program needing to deal with the concept of bytes stored inside a file, with mmap the operating system takes care of all I/O, and makes it look like the entire file is stored somewhere in memory21:56
jmah what was the reset command you used?21:56
talexb I committed, then did another pull, which made me realize the work I'd done may not have been complete.21:57
pimpin left21:57
talexb To reverse the merge, I did a hard reset.21:57
That appeared to have deleted the merges that I'd done.21:57
btanaka joined21:57
CareBear\ git reflog21:57
talexb git reset --hard HEAD~21:57
s0ber left21:58
s0ber_s0ber21:58
jmah talexb: run "git reflog", find a place that looks better, and git reset --hard to that (e.g. "git reset --hard HEAD@{1}")21:58
amalloy joined21:58
lnostdal_ joined21:58
fisted left21:58
ipalaus_ left21:58
nicxvan joined21:59
xeno__ joined21:59
Jay_Levitt left21:59
Jonny_ joined21:59
traviscj left21:59
Jonny_Guest8403521:59
rzec joined22:00
talexb jmah++ Wow. Cool. Thank you.22:00
niloc132 joined22:00
mediaslave I have a .htaccess file that needs to belong in a repo in a certian state. I also need to change this file locally, is there a way to have git ignore my changes to this file?22:00
alecthegeek joined22:00
Guest84035 left22:00
amalloy i can't figure out the right set of parameters to pass to rebase. i want to rewrite a topic branch so that it applies cleanly (without merges) to master, and then update master to point at the new rebased head22:00
oriba left22:00
fisted joined22:00
canton7 mediaslave, advice is the commit e.g. .htaccess.sample, and ignore .htaccess.22:00
OOPMan left22:01
amalloy i can do this with a lengthy multi-command process, but i'm sure if i just said the right magic word to rebase it would do this in one step22:01
frogonwheels mediaslave: can't you just put the .htaccess stuff in the config file of the server?22:01
jast amalloy: with the topic branch checked out, git rebase master; then go to master and git merge topicbranch22:01
airborn left22:01
jtdowney joined22:01
kerrick joined22:01
innociv left22:01
canton7 mediaslave, (I've had some luck with smudge filters myself, but it's hacky)22:01
dilfridgehelium-322:01
mediaslave frogonwheels: Yes I can and do. This is just an example. There are other files like this that I may need to do it with22:01
frogonwheels mediaslave: otherwise canton7's advise is the best. Have something that copies the default default.htaccess to .htaccess if it doesn't exist22:01
mediaslave I see...22:02
frogonwheels mediaslave: well have a process that copies all those other file 'defaults' if they don't exist.22:02
amalloy jast: right, that's the three-step (four, really, if i'm going to check topic back out in a minute) that i'm trying to avoid22:02
frogonwheels mediaslave: yes, there IS a way. but it's not something you should be relying on if you have a choice.22:02
mediaslave Okay, thanks. I was kinda hoping there was a file in the .git folder that I could mess with...22:02
airborn joined22:02
mediaslave frogonwheels: okay, thanks.22:03
jast amalloy: okay, you can reduce it to two steps if you really feel that you need to do that: after the first step (the rebase), git push . topicbranch:master. you'll notice that this is slightly hacky.22:03
jmah amalloy: after the rebase, you can "git update-ref refs/heads/master HEAD"22:03
jonnyATroot left22:03
mediaslave I can use capistrano to do the defaults. idea...22:03
frogonwheels mediaslave: you CAN use the sparse checkout feature ..22:03
jmah which sets master to HEAD, but keeps the current branch checked out22:03
jast I recommend against using update-ref22:03
canton7 amalloy, you can use rebase --onto, I believe, to avoid checking out the feature branch first22:03
babilen joined22:04
jast canton7: but it'll still checkout master at some point22:04
canton7 jast, for sure22:04
jmah jast: it requires caution, but I use it a bunch, why do you recommend against it?22:04
jast so he has to go back to the other branch after that22:04
OOPMan joined22:04
jast jmah: because it requires caution, unlike the solution I suggested22:04
canton7 jast, it saves a checkout command if he starts on master22:04
sangeeths joined22:04
jast canton7: I don't know that he does22:04
helium-3dilfridge22:04
canton7 jast, then it won't help, of course :) That's why I adorned my comment with "to avoid checking out the feature branch first"22:05
jast canton7: also, re the list of links you suggested earlier... I'm kind of divided on including the website howto since it uses the problematic checkout -f trick22:05
dilfridgehelium-322:05
jast the "problematic" part being that it doesn't delete files that got removed upstream22:06
canton7 jast, it's a fair point. It's a common scenario and the link gets posted a lot, though. I guess it's between you being able to put whatever warning you like next to the link, and hoping that whoever hands the link out in the channel knows to supply a warning22:06
boombatower joined22:06
sangeeths left22:06
ldlework joined22:06
canton7 well, that against having the link be seen as "official"22:06
canton7 doesn't know which is best22:07
jast canton7: yeah, I'd like to solve it properly which would involve providing a warning, an explanation and instructions on alternatives. at that point I'd essentially have to write a new article. :)22:07
helium-3 left22:07
dilfridge_ joined22:07
canton7 heh, too true22:07
tommyvyo left22:07
joshsmith left22:08
jast generally I think I might have to setup some kind of system where people can submit content for triggers22:08
frogonwheels jast: I use update-ref quite often, but every now and again, I update-ref my checked out branch :( ... which is something you really have to avoid doing!22:08
__class__ joined22:08
jast with an overview page22:08
Textmode left22:08
canton7 that could work22:08
jast frogonwheels: yeah, that's why I recommend the "push to ." trick instead22:08
luxurymode left22:08
jmah jast: what's this "push to ." trick? can I subscribe to your magazine?22:09
canton7 hmm, couldn't you pull the branch -f trick as well?22:09
dilfridge_helium-322:09
avinashhm left22:09
jast that's more unsafe than push ., isn't it?22:09
helium-3dilfridge_22:09
dilfridge_helium-322:10
jast jmah: the magazine is this channel. ;) "git push . src:dest" locally changes dest to match src, but only if it's possible as a fast-forward22:10
canton7 no idea. throwing it out there to see what the more experiences gitters say about it22:10
frogonwheels jast: I know of that trick but haven't used it. I should use it for that specific circumstance.22:10
xarragon left22:10
xarragon joined22:10
jast it should also prevent you accidentally updating the checked out branch, but I haven't tested that22:10
frogonwheels jast: It will surely, 'cause you can't push (by default) to a checked out branch22:11
jast yeah, I'm just not sure whether this is tested for local pushes. it *should* be.22:11
linusoleander joined22:12
helium-3dilfridge22:12
Guest72597 left22:13
xeno__ left22:13
frogonwheels jast: tested. behaves as expected22:13
jast good.22:14
ricky joined22:14
ipalaus_ joined22:14
kedare left22:14
frogonwheels jast: and now that I've done it.. I'll remember to use it more likely than not ;)22:14
jast my work here is done. ;)22:15
the_metalgamer left22:16
guy___brush left22:16
dv310p3r joined22:16
vdv left22:16
alecthegeek left22:17
baburdick left22:17
baburdick joined22:18
whitman left22:18
cytrinox left22:18
ramusara left22:19
w0bni left22:19
Ryback_ left22:19
gusnan left22:20
CannedCorn joined22:20
jtr__ left22:20
p3rror left22:21
d0k left22:22
avinashhm joined22:22
ChanServ set mode: +o22:23
jast changed the topic to: 1.7.7.2 | http://git-scm.com | Please skim http://jk.gs/git/ before asking, or at least before giving up!22:23
jast set mode: -o22:23
mklappstuhl left22:24
ESphynx joined22:24
ESphynx Hey guys, something I've discovered recently, when working on a side branch... it's very useful to do: 1. git rebase master 2. git rebase origin/sidebranch22:25
Is there any operation that kind of automates that?22:25
Arrowmaster left22:25
ChanServ set mode: +v22:26
ChanServ set mode: -v22:26
jmah shell history?22:27
:)22:27
ESphynx hehe22:27
I just see find git a bit dumb sometimes :|22:27
c00kiemon5ter joined22:27
ESphynx what feels like the natural workflow to me is never default22:27
c00kiemon5ter left22:27
c00kiemon5ter joined22:27
jmah well, some people like to rebase a lot, some don't22:28
chris_99 left22:28
ESphynx I like obvious histories... seeing merges all over when no merge really happened is annoying22:28
jsut because someone did something else and pushed to the repo before me shouldn't clutter the history with merges22:29
git rebase master : this brings him stuff tha happened on the master branch... then git rebase origin/sidebranch lets me push it to the central repo's sidebranch in a chronological order...22:30
no rebase option would let me do this in a single operation, is kind of my question?22:30
jast the problem with automatic consecutive rebases is that each rebase might involve you fixing a series of conflicts... and it can get pretty confusing if it seamlessly goes from one rebase to the next during that22:30
wbednarski joined22:30
ESphynx I guess so.22:30
jmah git rebase master && git rebase origin/sidebranch22:30
ESphynx I was kind of happy when I figured out that is what I needed to do.22:31
note that here... nothing NEW was on origin/sidebranch22:31
i'm just doing the rebase on master as if it happened 'after' the current sidebranch22:32
in fact it's really confusing to me that there is no one operation for this22:32
jmah why isn't just "git rebase master" enough then?22:32
ESphynx i.e. origin/sidebranch is the same as 'sidebranch' BEFORE the operation22:32
thursday joined22:32
ESphynx jmah: because then I cannot push it to origin/sidebranch ...22:33
ProLoser|Work left22:33
jast you're setting yourself up for a lot of pain if you ever try to merge any of this stuff22:33
ESphynx Am I?22:33
jast the reason it's different is because the second rebase takes the new commits from master and rewrites them with new commit IDs22:33
i.e. they're now slightly different on master vs. your side branch22:34
ESphynx yes.22:34
joch_n left22:34
jast not to mention that if they contained any merges on master, those merges are now gone in the side branch22:34
ESphynx jast: I just tried doing a git merge sidebranch from master, and there's just 2 conflicts easily fixed...22:35
ipalaus_ left22:35
jast well, it won't *always* cause pain22:35
ESphynx sidebranch here is temporary while performing the work.22:35
amalloy left22:36
ESphynx what i'm trying to do with my 2 rebases... is bring in the stuff that happened on master, but make it as if it happened after whateve I have right now.22:36
jast this stuff gets pretty unpredictable. it depends on the degree to which the new stuff on sidebranch and the new stuff in master touch the same parts of code.22:36
c00kiemon5ter left22:36
ipalaus_ joined22:36
ESphynx jast: But I expect most conflicts to be fixed as part of those rebase...22:37
jast well, I suppose you could use interactive rebase and reorder the commits to your liking22:37
that gives you maximum flexibility22:37
envi_ joined22:38
ESphynx yeah I know... pretty tricky to figure out though :P although I started using interactive rebases recently as well...22:38
jmah "bring in the stuff that happened on master, but make it as if it happened after whateve I have right now" means merge to me22:38
ESphynx but to me 'git merge' is a feature I'd do away completely with :P22:38
timmywil left22:38
ReekenX left22:38
ESphynx jmah: do this without any ugly 'Merge' commit22:38
nicksagona joined22:38
jast see, it's a question of aesthetics22:38
if you don't like the look of merge commits, you sign up for more hassle :)22:39
ESphynx I do not.22:39
they get super confusing when you try to look at the history of what happened there.22:39
jrm2k6 joined22:39
ESphynx especially with git log.22:39
FauxFaux git log --graph --oneline22:40
Arrowmaster joined22:40
canton7 (add --decorate for more prettyness)22:40
ESphynx yeah... but most of the times, the code don't even touch22:40
so why the merges?22:40
cbreak git config --global alias.graph 'log --graph --decorate --oneline --all'22:40
jast well, it may not be a syntactical merge, but it's a semantic one22:41
cbreak merges have many advantages over rebases22:41
nardev joined22:41
canton7 (or use gitk, if you're not on cli-only, and you prefer it)22:41
cbreak I often do it to bring a multi-commit feature branch into master22:42
jast a merge says: this joins two lines of development. I (git) have no way to determine whether they influence each other in any way, so that's all I'm gonna say about them.22:42
cbreak (I rebase onto master, and then --no-ff merge that branch)22:42
jast a more flexible model would require a different design and new ideas22:42
(let's not talk about the overkill darcs does in that area)22:42
ESphynx But rebase seems pretty good...22:43
--ff-only and rebases make me happy.22:43
I just wish git was friendlier to those who prefer this model ;)22:43
jast well, at any rate, this is the first time I've ever seen anyone do this two-part rebase thing22:43
cbreak you can do it if you want.22:43
jast and I've been active in this channel for several years22:43
ESphynx jast: that fact is interesting :) I thought people would do this.22:43
cbreak you can add --ff-only as default22:43
ESphynx: see man git-config merge.ff22:44
jast ESphynx: *automatic message* the 'git-config' manpage can be found at <http://git.kernel.org/?p=git/git-htmldocs.git;a=blob_plain;f=git-config.html;hb=master>22:44
ESphynx yeah I'm very happy with git...22:44
jast it's possible that you can prevent the extra rebase by structuring your workflow slightly differently22:44
I'm not up to thinking about it right now, though ;)22:44
ESphynx I just wanted to hear your opinion on this workflow: P22:44
rosco_y joined22:44
cbreak imho, rewriting public history is dumb22:45
your master is public22:45
so rebasing onto master and then something else is dumb.22:45
jast so after you've done those two rebases, what is it you want to do?22:45
cbreak -> logic 101 :)22:45
ESphynx cbreak: well no because that is on the sidebranch...22:45
jast push them to a remote copy of sidebranch?22:45
drizzd joined22:45
cbreak ESphynx: master is master22:45
ESphynx cbreak: the poitn of the 2nd master is to 'not' rewrite the public history of the sidebranch22:45
of the 2nd rebase*22:45
cbreak you would rewrite public history of master22:46
jmah I use rebases for trivial changes, or for rebase -i with a series of fixups etc. on a branch22:46
ESphynx cbreak: How so?22:46
jast thinking about it, you could do a squash merge of master into sidebranch22:46
cbreak you rebased onto master22:46
ESphynx cbreak: mater doesn't change... this is all on the sidebranch22:46
cbreak so you potentially got master commits22:46
jast if your sense of aesthetics allows for that ;)22:46
cbreak then you rebase those onto some other branch22:46
the master commits might not be on that branch, so they would get rewritten22:46
-> bad22:46
envi_ left22:46
ESphynx i don't see the issue here. master always goes forward, the history of master does not change.22:47
cbreak it does.22:47
booginga left22:47
ESphynx it sure does not!22:47
baburdick left22:47
cbreak let's try it with an example22:47
ESphynx git log master always shows the same commit hash IDs22:47
cbreak let's say you have a new commit on master22:47
(Commit A)22:48
ESphynx ok22:48
cbreak you rebase onto master22:48
now your history contains A22:48
ESphynx history of sidebranch ?22:48
baburdick joined22:48
cbreak then you rebase onto some other branch22:48
that commit A now gets rewritten22:48
ESphynx right the origin's sidebranch22:48
it does on the sidebranch.22:48
jast yeah, so A has gotten rewritten on sidebranch... but not on master22:48
cbreak you now have a new commit that was A22:48
so masters history was rewritten22:48
-> commit duplication22:49
jast I don't follow22:49
kevwil left22:49
jast yeah, it's duplicated, but that's just like a cherry-pick22:49
cbreak it's like implicit cherry picking22:49
ESphynx cbreak: yes... but the whole sidebranch is temporary and will be deleted at the end.22:49
jast I don't personally like cherry-picking all that much, but it's a viable thing to do in general22:49
ESphynx yes... I love cherry-picking.22:49
cbreak in general cherry picking is a stupid thing to do22:49
jast so what happens to the stuff on the branch when you delete it? I'm curious...22:49
jtdowney left22:49
cbreak it provokes the same problems rebase has22:49
without even preserving basic ordering22:50
ESphynx jast: I rebase it onto master at the end.22:50
jast: and then merge it into master.22:50
and then delete sidebranch22:50
cbreak your history will be a tangled mess22:50
ESphynx cbreak: it will be perfectly clear. as if everything happened chronologically.22:50
jast hmm22:50
cbreak you'll have to retest every commit after every rebase if you want to take it exactly22:50
jtdowney joined22:50
cbreak because every rebase can introduce errors in the history22:51
because it creates NEW history that was never tested22:51
jast but you don't want to force-update sidebranch at any part during the progress, right?22:51
*process22:51
ESphynx jast: right I never force update.22:51
cbreak I only rebase private branches for good reasons:22:51
to keep the potential problems of rebasing to a minimum22:51
interactions between code can lead to invalid results without creating merge conflicts22:52
ESphynx cbreak: I consider these sidebranches as private branches with a backup.22:52
cbreak if they are private, then you don't need to rebase onto the remote22:52
you can just force push22:52
ESphynx they are not e.g. a development branch.22:52
jast if you're fine with doing a bunch of "rebase --skip"s during the final rebase (before you delete sidebranch), you can do "git merge --squash master" instead of the double rebase22:52
cbreak saving you the potential problems when rewriting master commits22:52
ESphynx true... but they are not totally private.22:53
other people can use them e.g. for trying it out.22:53
jast what's your take on that? I think it's probably going to be the least effort.22:53
ESphynx but read-only by them22:53
cbreak that doesn't matter22:53
joshsmith joined22:53
cbreak as long as they don't base work on them, you can rebase22:53
jast short of using more complicated commands instead of the double rebase22:53
cbreak and force push22:53
jast such as cherry-picks with an explicit range22:53
ESphynx cbreak: was afraid they'd have trouble on a pull?22:53
cbreak they won't pull22:53
if they just try out, they would just check out a new branch22:54
joshsmith left22:54
ESphynx well yeah they do pull.22:54
cbreak and when they are done, throw it away22:54
ESphynx for quicker update.22:54
cbreak quicker update?22:54
ESphynx they might try it out a few times22:54
after I fix some thing :P22:54
cbreak they might not even make a branch22:54
just git checkout origin/foo22:54
ESphynx so they keep the brnach around22:54
cbreak and stay in detached head22:54
ESphynx they could.22:54
jast: what will that --squash do?22:55
traviscj joined22:55
regedit left22:55
ESphynx basically make it one commit?22:55
cbreak squash will just make one single merge commit22:55
like a normal merge22:55
jast ESphynx: it creates a standard, non-merge commit that just happens to contain the changes a merge would otherwise introduce22:55
ESphynx bringing master up to date...22:55
cbreak but without the second parent22:55
ESphynx but as a single commit...22:55
jast yeah22:55
ESphynx as opposed to a bunch of cherry-picked commits (which I like)22:55
whyking joined22:55
jast well you *can* cherry-pick ranges22:56
cbreak it's basically like svn's merges :)22:56
ESphynx git rebase master && git rebase origin/sidebranch is easier :P22:56
jast so, roughly, instead of the double rebase you might do: git cherry-pick `git merge-base master sidebranch`..master22:56
alex__c2022 left22:56
tiagobutzke left22:56
jast this is very easy to abstract away in a script, unlike the double rebase22:56
ESphynx ah.22:56
jast (I haven't tested this, mind you)22:57
ESphynx jast: I guess that was the answer I was looking for :P22:57
jast okay, so my mind isn't completely asleep yet22:57
mikewintermute left22:58
jast I still think there's a chance this will, at some point, create a hell of conflicts for you... but I can't make any kind of reliable prediction about it.22:58
ESphynx ithanks22:59
cbreak rebase --squash will lose your commits22:59
ESphynx jast: it seems to have worked well this far :P23:00
jast ESphynx: just giving you my perspective. the decision is, of course, all yours.23:00
ESphynx no easy way to `git merge-base` on cmd.exe eh? :)23:00
appreciated :P23:01
jast I don't think so23:01
but msysgit includes bash23:01
canton7 one of the msysgit install options is whether you want to have git in your PATH23:01
I think that's what FauxFaux uses23:01
ESphynx yeah, but I usually stick to cmd.exe without bash :P23:01
cbreak what do you need merge-base for?23:01
ESphynx cbreak: cherry-pick ranges :P23:02
FauxFaux high-fives ESphynx.23:02
jast git itself uses bash for some of its commands, anyway23:02
ESphynx or just a git log `git merge-base`23:02
metcalfc left23:02
cbreak ESphynx: you can do that with normal ranges maybe23:02
ESphynx high-fives FauxFaux back23:02
Samoi left23:02
jast yeah, *if* you can figure out the right starting point for the range23:02
cbreak so master..foo is the same as (merge-base master foo)..foo23:02
Samoi joined23:03
ESphynx anyways, I got the code rebased like I wanted, so I will resume my work :P thanks folks.23:03
is it?23:03
jast cbreak: good point23:03
ESphynx master..foo is the same ?23:03
cbreak yes.23:03
ESphynx oh. interesting.23:03
cbreak master..foo means in foo but not master23:03
jast so, git cherry-pick sidebranch..master23:03
cbreak that would cherry-pick what is in master but not the sidebranch23:04
ESphynx So: git cherry-pick sidebranch..master ?23:04
jast it's a bit difficult to wrap your head around that since the syntax seems to suggest that it means something else23:04
Amorphous left23:04
ESphynx cbreak: being in the sidebranch ?23:04
cbreak well, with git's history interpretation of "not in sidebranch"23:04
kvanderw left23:04
jast doesn't matter where you are23:04
cbreak ESphynx: independent of where HEAD is23:04
but careful23:04
jast it all comes down to reachability23:04
cbreak if you repeat that cherry pick, you'll get duplicate commits :)23:05
jast basically sidebranch..master takes all commits reachable from master, and subtracts the one reachable from sidebranch23:05
ESphynx oh.23:05
cbreak "not in blah" is decided with history order23:05
ESphynx the rebase addresses that though? right?23:05
cbreak and not something like patch-id23:05
traviscj left23:05
jast this leaves the one that master added after it split off from sidebranch23:05
in this case, anyway23:05
ESphynx i know I've done it a few times23:05
MUILTFN left23:05
ESphynx multiple double-rebases23:06
cbreak well, cherry picking the same thing might just fail23:06
^slacker^ left23:06
cbreak if it can't apply the same thing multiple times23:06
or create empty commits23:06
or create no commits23:06
I've not actually tried that23:06
ESphynx ah.23:06
cbreak be expected to be surprised... or not. :)23:06
Spockz joined23:06
jast yeah, I didn't think about that23:06
ESphynx I'll stick to what has served me well then :P23:06
jast it might create a conflict situation for each time it re-applies commits23:07
kevwil joined23:07
workmad3 joined23:08
cbreak rebase has the same problem23:10
It will give you a weird conflict, and you have to rebase --skip to resolve it23:10
jast if the two commits have the same patch-id I think it would skip it23:10
linusoleander left23:10
cbreak usually those irritate me since I search for an actual conflict first... :)23:10
jast in other cases... not so much :)23:10
neurodrone joined23:11
cbreak patch-id is a heuristic23:11
jast I know23:11
if the sidebranch commits touch a different part of the codebase, it'll work23:11
if they don't, all bets are off23:11
cbreak if it works it's nice. But I think it's prefering false positives over missed negatives23:12
Cogito left23:12
cbreak a reasonable thing to do23:12
jast indeed. it's just a hash of the diff, actually, afaik23:12
ESphynx ah that's the patch-id?23:13
Cogito joined23:14
zarac joined23:14
cbreak see man git-patch-id23:14
jast *automatic message* the 'git-patch-id' manpage can be found at <http://git.kernel.org/?p=git/git-htmldocs.git;a=blob_plain;f=git-patch-id.html;hb=master>23:14
zarac Hey folks23:14
jast 23:14
whoops :)23:14
hey to you too23:14
mysphyt joined23:15
zarac I did a bad commit (included some files i did not want to). Is reset the right command to use if i just want to undo the last commit (leaving the working directory as is)?23:15
; )23:15
glennpratt left23:16
nicksagona left23:16
jast zarac: actually you can just fix things up and use git commit --amend to redo the bad commit23:16
zarac I included the build files. ; )23:16
jast so the fix will probably involve git rm --cached23:16
zarac ah, that was my next question ; )23:16
thanks a bunch23:17
envi_ joined23:17
baburdick left23:18
baburdick joined23:18
Spockz left23:19
madewokherd joined23:19
vals_ joined23:20
tango_ left23:20
kermit left23:20
rzec left23:20
kermit joined23:20
Amorphous joined23:20
vals_tango_23:21
axl_ left23:21
juvenal left23:21
subbyyy joined23:21
koo6 left23:21
sirdancealot joined23:22
ixti left23:24
lucasvo03 joined23:25
jmah left23:25
juvenal joined23:25
lucasvo03 left23:27
giallu left23:27
lucasvo joined23:27
madewokherd left23:28
lucasvo left23:29
krazyj joined23:30
lucasvo_2 joined23:30
krazyj is it possible to make a git pull also do force a pull of all submodules, too?23:30
lucasvo_2 left23:30
lucasvo_3 joined23:30
jast well, sort of... but the interface is kind of screwed up in that the new versions in the submodules won't be checked out automatically23:31
lucasvo_3 Are there any tips on importing huge svn repositories? I'm trying to convert an svn repository with over 12k commits and about a 100 tags and it's been taking several hours already with no end in sight.23:31
jast so it's "git merge --recurse-submodules; git submodule update --recursive"23:32
[ESphynx] joined23:33
jast lucasvo_3: not really. some folks are working on a tool to do imports faster, but I don't think it's ready for use yet. I'm not following its development very closely, though.23:33
krazyj jast: so if i were to make that into a pull hook, every time i 'git pull' remote master, it'll pull+merge the submodules from their repos, too?23:33
madewokherd joined23:33
mysphyt left23:34
tabakhase left23:34
mattp_ left23:34
jast krazyj: actually, you might want/have to use "git pull; git submodule --merge --recursive" instead. I haven't personally done anything like that, so it's going to involve a bit of experimenting.23:34
krazyj ah ok23:35
tabakhase joined23:35
mattp_ joined23:35
krazyj jast: basically, i'm using a plugin library that i will make no edits to and just want to keep it up to date with what the creators have posted23:35
and make it easy for all of my coworkers to stay on a similar page23:35
ESphynx left23:35
[ESphynx]ESphynx23:35
tizzo-afk joined23:36
sontek left23:36
JP left23:36
akraut left23:36
etcetera left23:36
akraut joined23:36
JP joined23:36
etcetera joined23:36
envi_ left23:36
tabakhase left23:36
tabakhase joined23:36
sontek joined23:37
jast krazyj: right. in that case there's another way you can do it that is more likely to never mess anything up: "git pull; [fix potential conflicts here and commit if necessary]; cd submodule; git fetch; git checkout <the branch> (probably master); cd ..; git add submodule; git commit -m "Update submodule blah blah blah"23:37
not terribly pretty, I guess23:37
mklappstuhl joined23:38
krazyj jast: ahh, so basically i have to manage the submodule updates, i guess?23:38
lucasvo_3 jast, do you know if github has their own method or are they using the same tools?23:38
yeah they seem to do.23:39
jast krazyj: yeah23:39
krazyj jast: thanks for the help dude!23:39
jast krazyj: you're welcome23:40
Flogalen left23:40
ISF joined23:41
Fandekasp left23:42
fedesilva left23:42
wbednarski left23:43
dfr|mac left23:43
workmad3 left23:44
airborn left23:45
krazyj left23:45
drizzd left23:46
macRover joined23:46
saschagehlich joined23:47
ipalaus_ left23:51
alnewkirk joined23:51
kevwil left23:52
sirdancealot left23:52
pantsman left23:57
sirdancealot joined23:58
lucasvo_3 can I delete all modifications that are older than three months?23:58
novettam left23:58
jast not without a lot of side-effects23:59

Logs Search ←Prev date Next date→ Channels Documentation