| 2020-01-21 |
| ← leeN left | 00:00 |
|
guzzlefry
| kind of? | 00:00 |
|
rafasc
| There must be something running git fetch. | 00:00 |
|
guzzlefry
| yes, me :P | 00:00 |
|
| I'm ssh'ing in and doing it. | 00:00 |
| ← ttoocs left | 00:01 |
|
guzzlefry
| I got around it by setting ACL permissions, but I'd still like to know what's going on if possible. | 00:01 |
| ← omnireq left | 00:02 |
| → Codaraxis joined | 00:03 |
| → Dirak joined | 00:03 |
| ← g00s left | 00:05 |
| ← Dirak left | 00:08 |
| ← jamiejackson left | 00:10 |
| → Dirak joined | 00:14 |
| ← shabius_ left | 00:19 |
| ← mikecmpbll left | 00:19 |
| → shabius joined | 00:24 |
| ← oatmealraisin left | 00:26 |
| → ttoocs joined | 00:28 |
| ← ttoocs left | 00:33 |
| ← xcm left | 00:34 |
| ← duderonomy left | 00:34 |
| → xcm joined | 00:34 |
| → causasui joined | 00:36 |
| → fphilipe_ joined | 00:38 |
| ← CodeSlingerPaul left | 00:40 |
| ← dedowsdi left | 00:41 |
| ← mowcat left | 00:41 |
| ← Anthaas left | 00:41 |
| ← fphilipe_ left | 00:42 |
| ← paws_ left | 00:44 |
| → jimender2 joined | 00:45 |
| → budonyc joined | 00:45 |
| → Anthaas joined | 00:46 |
| ← budonyc left | 00:53 |
| ← gioyik left | 00:54 |
| ← lefne left | 00:57 |
| → lefne joined | 00:59 |
| → ttoocs joined | 01:00 |
| ← causasui left | 01:00 |
| → igemnace joined | 01:01 |
| → omnireq joined | 01:02 |
| → dedowsdi joined | 01:04 |
| ← ttoocs left | 01:05 |
| ← ravndal left | 01:06 |
| ← royal_screwup21 left | 01:06 |
| ← xcm left | 01:06 |
| → xcm joined | 01:07 |
| → Goplat joined | 01:15 |
| → oatmealraisin joined | 01:15 |
| → Decobus joined | 01:15 |
| ← igemnace left | 01:16 |
| ← jstein left | 01:16 |
| → ttoocs joined | 01:32 |
| ← jetchisel left | 01:33 |
| → rominron_ joined | 01:33 |
| → jetchisel joined | 01:33 |
| ← rominronin left | 01:36 |
| ← ketas left | 01:36 |
| ← ttoocs left | 01:38 |
| → ketas joined | 01:39 |
| → igemnace joined | 01:40 |
| → ycon_ joined | 01:43 |
|
ycon_
| Im so baffled by this- if my git modules used https, then where I clone it will have to use https too? Does that sounds right? | 01:44 |
| → fairuz joined | 01:45 |
| ← fairuz left | 01:46 |
| ← guzzlefry left | 01:46 |
| ← Lucas_Gray left | 01:49 |
|
Ori_B
| yes, git submodules are effectively just cloned using 'git clone' from the url in $REPO/.gitmodules | 01:55 |
| ← CryptoDavid left | 01:56 |
| ← ycon_ left | 01:58 |
| ← rafasc left | 02:02 |
| → fairuz joined | 02:03 |
| → ttoocs joined | 02:04 |
| → florekm joined | 02:06 |
| ← statusf90 left | 02:07 |
| ← sveinse left | 02:07 |
| ← ttoocs left | 02:09 |
| ← sinhue left | 02:10 |
| ← Codaraxis left | 02:17 |
| ← beastDiv_ left | 02:17 |
| ← _Warl0ck left | 02:18 |
| ← dumb_moth left | 02:19 |
| → beastDiv_ joined | 02:26 |
| → tpewnag joined | 02:34 |
| ← tpewnag left | 02:34 |
| → ttoocs joined | 02:36 |
| ← Brainium left | 02:37 |
| ← finalbeta left | 02:38 |
| ← RoseBus left | 02:40 |
| → Thorn joined | 02:40 |
| ← justanotheruser left | 02:41 |
| ← ttoocs left | 02:42 |
| ← jetchisel left | 02:43 |
| → jetchisel joined | 02:44 |
| → _Warl0ck joined | 02:46 |
| ← yonder left | 02:46 |
| ← chandoo left | 02:47 |
| → finalbeta joined | 02:48 |
| ← _Warl0ck left | 02:48 |
| → justanotheruser joined | 02:48 |
| → dumb_moth joined | 02:49 |
| → _Warl0ck joined | 02:50 |
| → causasui joined | 02:51 |
| ← fattredd left | 02:51 |
| ← veegee left | 02:51 |
| → tpewnag joined | 02:52 |
| ← CCR5-D32 left | 02:52 |
| → ravndal joined | 02:53 |
| ← F0rTex left | 02:55 |
| ← dumb_moth left | 02:56 |
| → F0rTex joined | 02:56 |
| ← _Warl0ck left | 02:56 |
|
ShapeShifter499
| hi | 02:57 |
|
| How can I merge two repositories together and all the branches they have? | 02:58 |
| jaziz1 → jaziz | 02:58 |
| ← dartmouthed left | 03:02 |
| → ycon_ joined | 03:06 |
|
ycon_
| Ori_B: oh thanks. sorry was disconnected | 03:06 |
| ← kantlivelong left | 03:07 |
| → kantlive- joined | 03:08 |
|
ycon_
| Super wiered- even though my submodule folders show ssh method, as my url github asks for my username and pass. Could something be wrong here? | 03:08 |
| kantlive- → kantlivelong | 03:08 |
| → ttoocs joined | 03:09 |
| ← bvdw left | 03:09 |
| → bvdw joined | 03:10 |
| → omnireq_ joined | 03:13 |
| ← ttoocs left | 03:14 |
| ← howdoi left | 03:14 |
| ← omnireq left | 03:15 |
| ← causasui left | 03:17 |
| → ttoocs joined | 03:24 |
| lagothrix → Guest98510 | 03:25 |
| ← Guest98510 left | 03:25 |
| → lagothrix joined | 03:25 |
| ← beastDiv_ left | 03:26 |
|
ycon_
| Hi all. new to submodules here. What is the way to recursively git fetch all directories? | 03:30 |
|
| as in , check all submodules for latest changes | 03:31 |
|
igemnace
| ycon_: no dedicated command for it. check out git submodule foreach in the help | 03:36 |
|
ycon_
| I'm also confused with git fetch. If I have done --force-with-lease, does that mean git fetch won't think there are new commits? | 03:36 |
|
igemnace
| it'll still fetch the new commits | 03:45 |
| ← ycon_ left | 03:45 |
| → beastDiv_ joined | 03:46 |
|
igemnace
| you just won't immediately be able to git merge the upstream of the branch you did --force-with-lease in on some other machine | 03:46 |
|
| ...weird sentence but the idea is push --force-with-lease will affect merging local and remote branches, not fetching remote branches | 03:48 |
| → fattredd joined | 03:49 |
| → Codaraxis joined | 03:52 |
|
davidfetter
| is there some resources that helps decide among git submodule, git subtree, etc.? | 03:54 |
| → sauvin joined | 03:54 |
|
igemnace
| davidfetter: good question. i've only been able to stitch together that information from various sources in the past. are you trying to decide for a specific use case? or just collecting resources in general? | 03:57 |
| ← Cabanossi left | 03:57 |
| → ycon_ joined | 03:58 |
|
ycon_
| Hi all, im trying to fetch updates from a repo on my server- where it should override all conflicts/not merge. However, git fetch does not work. | 03:58 |
| → duderonomy joined | 03:58 |
|
davidfetter
| igemnace, it's for a possible dependency for PostgreSQL, so we need to be able to control pretty carefully what exact commit we're using with each branch | 03:58 |
|
ycon_
| This worked: "git fetch --all;git reset --hard origin/<branch_name>". But is there a way to write that, without having to specify the branch? | 03:58 |
|
igemnace
| davidfetter: is it a dependency you're going to maintain yourselves? or do you expect the dependency's maintainers to work separately? | 04:00 |
|
davidfetter
| ...and given the longevity of the PostgreSQL project, we've found ourselves the maintainers of several "external" packages already. Spencer's regex, e.g. | 04:00 |
|
| we're maintaining the dependencies. others might (from our perspective) send patches to sub-assemblies, which we'd need to review, possibly modify, etc. | 04:01 |
|
igemnace
| ah. the idea is that for subtrees, the entire history of the subtree will be included in the superproject as well. for submodules, the submodule's history will be separate, and the superproject will only keep reference information (remote URL, checked-out hash) | 04:01 |
|
davidfetter
| that latter sounds more attractive, as our history goes back quite a ways, and we'd rather not cloud it with Other People's Pushes | 04:02 |
| ← beastDiv_ left | 04:02 |
|
| davidfetter would ordinarily be down with OPP, but in this case, not so much | 04:02 |
|
igemnace
| right, and apart from that, with subtrees you should be ready to have commits relating only to the subtree being part of the whole superproject history | 04:03 |
|
| even the ones made by "first-party" maintainers | 04:05 |
|
davidfetter
| that sounds like it'd make a lot more sense than shuffling in others' whole history. are there systems I should consider other than those two? | 04:05 |
| ← barteks2x left | 04:05 |
|
igemnace
| for git, i'm only familiar with those two. i'm not familiar with other techniques | 04:05 |
|
ycon_
| Like this seems to work: git fetch --all;git reset --hard origin/$(git rev-parse --abbrev-ref HEAD) | 04:06 |
|
| davidfetter has seen reference to submodule, subtree, subrepository, and Composer so far | 04:06 |
|
igemnace
| yep, outside git, there might already be dependency management systems for the language/stack you're working with. composer is one of those | 04:07 |
| ← dedowsdi left | 04:08 |
| → Cabanossi joined | 04:09 |
|
igemnace
| ycon_: if your branch already has an upstream set up, you can do git reset --hard @{u} | 04:09 |
| → dedowsdi joined | 04:09 |
|
ycon_
| igemnace: oh thanks. That's pretty neat. Basically if my branch is remote, then it will always have an upstream yeah? | 04:10 |
| ← fairuz left | 04:10 |
|
igemnace
| depends on how the branch was created. if it was created by doing git checkout branch-name (which will automatically set up a local branch with an upstream if no local branch exists) or by more explicit commands such as git checkout --track, then yes it will have an upstream | 04:12 |
|
ycon_
| Cool. Very good | 04:13 |
| → nickodd joined | 04:16 |
| ← tpewnag left | 04:18 |
| ← Dirak left | 04:20 |
| ← g4570n left | 04:21 |
| ← oatmealraisin left | 04:23 |
| ← netz left | 04:25 |
| ← dedowsdi left | 04:26 |
| → dedowsdi joined | 04:27 |
| ← crose left | 04:36 |
| ← hussam left | 04:36 |
| ← fling left | 04:42 |
| → ferdna joined | 04:45 |
| → Dirak joined | 04:53 |
| ← bukkitgerman left | 04:53 |
| → bukkitgerman joined | 04:53 |
| ← dedowsdi left | 04:57 |
| → dedowsdi joined | 04:58 |
| ← jcbitter left | 05:01 |
|
ycon_
| Git submodules is really confusing. Can someone give me clarity on how to get the lastest changes from remove submodules? | 05:01 |
|
| git submodule update --init --recursive does not do anything | 05:01 |
| → pks_ joined | 05:01 |
| ← pks left | 05:03 |
| pks_ → pks | 05:03 |
| → fairuz joined | 05:06 |
| → orbyt_v7 joined | 05:09 |
| ← dedowsdi left | 05:09 |
| → dedowsdi joined | 05:11 |
| ← ycon_ left | 05:15 |
| ← orbyt_v7 left | 05:19 |
| ← Dirak left | 05:25 |
| → Dirak joined | 05:32 |
| → _Warl0ck joined | 05:35 |
| → dumb_moth joined | 05:36 |
| → xco joined | 05:43 |
| ← ferdna left | 05:47 |
| ← bukkitgerman left | 06:00 |
| → bukkitgerman joined | 06:01 |
| → beastDiv_ joined | 06:02 |
| → ycon_ joined | 06:10 |
| ← R2robot left | 06:12 |
| ← ycon_ left | 06:13 |
| ← fairuz left | 06:19 |
| ← zrhoffman left | 06:19 |
| → __salt joined | 06:19 |
| → zrhoffman joined | 06:20 |
| ← _salt left | 06:20 |
| ← orbyt_ left | 06:20 |
| ← zrhoffman left | 06:21 |
| ← jetchisel left | 06:22 |
| → zrhoffman joined | 06:23 |
| → fairuz joined | 06:25 |
| → Mattiaslndstrm joined | 06:26 |
| → jetchisel joined | 06:27 |
| ← jetchisel left | 06:28 |
| → jetchisel joined | 06:28 |
| → ycon_ joined | 06:29 |
|
ycon_
| Hi all, is there I way I can do "git reset --hard @{u}" conditionally- only adding the @{u} if it actually points to a branch? | 06:29 |
| → prit joined | 06:29 |
|
ycon_
| Will this acehive it? | 06:31 |
|
mud
| You should be able to use `git rev-parse --verify @{u}` to check if points to something, then do a very short bash script based on that? | 06:33 |
| → pandakekok9 joined | 06:34 |
| → trittweiler joined | 06:35 |
| gitinfo set mode: +v | 06:36 |
| ← FH_thecat left | 06:36 |
| → Codaraxis_ joined | 06:40 |
|
trittweiler
| What's the best way to "categorize" files in a repository? I.e. I would like to find out whether files are part of the repository, untracked, or ignored? It doesn't seem like `git ls-files` can do that. | 06:40 |
| → fphilipe_ joined | 06:40 |
| ← jetchisel left | 06:41 |
| → netz joined | 06:41 |
| ← mat001 left | 06:41 |
| ← Codaraxis left | 06:43 |
|
osse
| trittweiler: it can list each category separately | 06:44 |
| → jetchisel joined | 06:45 |
|
osse
| a small script could produce a long merged list with an indication of which list it came from | 06:45 |
|
| http://sprunge.us/z6H07G - something like this maybe? | 06:50 |
| ← fairuz left | 06:51 |
|
osse
| the command with --ignored also needs --others | 06:52 |
| ← Trieste left | 06:57 |
| ← xco left | 06:57 |
| → Trieste joined | 06:58 |
| ← kjartan left | 06:59 |
| → kjartan joined | 07:00 |
| → xco joined | 07:12 |
| ← theorangeone left | 07:18 |
| → Noti joined | 07:19 |
| → theorangeone joined | 07:20 |
| → sQVe joined | 07:21 |
| ← ycon_ left | 07:27 |
| → BeerLover joined | 07:28 |
| ← nickodd left | 07:28 |
| ← duderonomy left | 07:32 |
| → chele joined | 07:32 |
| ← Goplat left | 07:33 |
| → im0nde_ joined | 07:35 |
|
trittweiler
| Cheers. | 07:35 |
| → ijash joined | 07:35 |
| ← im0nde left | 07:36 |
| → shady_traveller joined | 07:36 |
| → duderonomy joined | 07:36 |
| ← theoceaniscool left | 07:39 |
| ← beastDiv_ left | 07:41 |
| ← thiago left | 07:44 |
| → reprazent joined | 07:44 |
| → gxt joined | 07:50 |
| ← gxt left | 07:50 |
| → gxt joined | 07:53 |
| ← lankanmon left | 07:53 |
| → robamman2020 joined | 07:54 |
| → beastDiv_ joined | 07:54 |
| → rfuentess joined | 07:55 |
| pandakekok9 → CommunistMonotyp | 07:55 |
| CommunistMonotyp → pandakekok9 | 07:56 |
| → lankanmon joined | 07:56 |
| → graungaard joined | 07:58 |
| → graungaard83 joined | 07:58 |
| ← graungaard83 left | 07:58 |
| → glosoli joined | 08:02 |
| ← glosoli left | 08:02 |
| → glosoli joined | 08:02 |
| ← BonusPlay left | 08:08 |
| → BonusPlay joined | 08:08 |
| → oxymoron93 joined | 08:08 |
| ← robamman2020 left | 08:17 |
| ← dumb_moth left | 08:18 |
| ← _Warl0ck left | 08:18 |
| → dumb_moth joined | 08:21 |
| → _Warl0ck joined | 08:22 |
| → dartmouthed joined | 08:23 |
| ← xco left | 08:23 |
| → dre_ joined | 08:31 |
| → mobidrop joined | 08:34 |
| → sbeyer joined | 08:36 |
| → xco joined | 08:40 |
| → enoq joined | 08:42 |
| ← Helenah left | 08:44 |
| → Helenah joined | 08:46 |
| → Lope joined | 08:47 |
|
Lope
| if I commit to the wrong branch and have already pushed it to bitbucket, is there a way to roll it back? | 08:48 |
|
| osse, ^ :) | 08:48 |
| ← dre_ left | 08:49 |
|
oxymoron93
| sure, it requires force push | 08:49 |
|
igemnace
| git revert is the safe way | 08:49 |
|
Lope
| igemnace, `git revert $id; git push ...` ? | 08:50 |
|
oxymoron93
| I assume roll back really means that, but yeah, if you weren't aware of git revert, check it out if it is applicable for your case: man git revert Lope | 08:50 |
|
gitinfo
| the git-revert manpage is available at https://gitirc.eu/git-revert.html | 08:50 |
|
igemnace
| yep. that'll *add* a new commit (your history will move forward), but whose tree is a "roll back" (your files will go back to the state before the reverted commit) | 08:51 |
|
oxymoron93
| it will create another commit, which cancels out changes made by commit used in command | 08:51 |
|
Lope
| are you guys familiar with `git undo` ? | 08:52 |
|
oxymoron93
| resulting in no history rewrite, and you can just push it | 08:52 |
|
Lope
| it's part of some git scripts available in debian. | 08:52 |
|
oxymoron93
| I am not | 08:52 |
|
igemnace
| neither am i | 08:52 |
|
oxymoron93
| from what I see, it is basically `git reset` :D | 08:53 |
|
| which is not what `git revert` does | 08:53 |
|
Lope
| it's part of the git-extras package. | 08:53 |
| → floppydh joined | 08:54 |
|
oxymoron93
| yeah, found the manual, is that what you want to do with this latest commit? | 08:54 |
|
Lope
| I use `git undo` often | 08:54 |
|
| but I've pushed to bitbucket already | 08:54 |
|
| so how can I undo there? | 08:54 |
|
oxymoron93
| only with force push , but check this out !rewrite | 08:55 |
|
gitinfo
| Rewriting public history is not recommended. Everyone who has pulled the old history will have to do work (and you'll have to tell them to), so it's infinitely better to just move on. If you must, you can use `git push --force-with-lease <remote> <branch>` to force (and the remote may reject that, anyway). See http://goo.gl/waqum | 08:55 |
|
Lope
| this is the git undo command: https://github.com/tj/git-extras/blob/master/bin/git-undo | 08:56 |
|
oxymoron93
| well, even better, now I know it is `git reset` :D | 08:56 |
| ← tsujp left | 08:56 |
| → yonder joined | 08:58 |
| ← dionysus69 left | 09:00 |
| ← bigfondue left | 09:00 |
| ← Kaisyu7 left | 09:02 |
|
gitter1234
| Hey! How come when I rebase to an old commit I can't see the files that are staged for that commit? | 09:06 |
| ← bvdw left | 09:09 |
| → bvdw joined | 09:10 |
| ← ijash left | 09:10 |
|
oxymoron93
| elaborate more, rebase is done with clean working directory (no staged, or modified files) and files staged for the existing commit isn't clear to me either | 09:11 |
|
gitter1234
| When I do git commit --amend, then I can see the all the files that are gonna be part of that commit | 09:12 |
| → tonythomas joined | 09:12 |
|
osse
| gitter1234: have you marked a commit as "edit" ? | 09:12 |
|
gitter1234
| Yeah | 09:13 |
|
| Makes it kinda hard to see what changes I'm supposed to make. I have to make a copy of the repo and then git show <the commit I'm rebasing> to get an overview. | 09:13 |
|
osse
| it's set up so that you're supposed to use git commit --amend | 09:13 |
|
gitter1234
| Yeah I know | 09:13 |
|
osse
| you can git reset --soft @~ and commit the usual way | 09:13 |
| → bigfondue joined | 09:13 |
|
osse
| make a copy?!?! | 09:13 |
|
gitter1234
| But I'd like to see all the files that are gonna be applied to the current commit when I do git status | 09:14 |
|
osse
| my suggesteed reset thing does that | 09:14 |
|
| but remember to not use --amend when you're done | 09:14 |
|
gitter1234
| Cool, thanks | 09:14 |
|
| Ah so that's why I fucked up my repo just now :-) | 09:15 |
|
osse
| also you could just "git show" when you're there. making a copy sounds silly | 09:15 |
|
gitter1234
| Ah yeah git show shows it | 09:16 |
|
| Although I'd like just a list of the modified files. I'll try out your command, cheers | 09:17 |
|
osse
| git show --name-only | 09:17 |
|
| git diff HEAD~ HEAD --name-onlu | 09:17 |
| ← igemnace left | 09:17 |
|
gitter1234
| Ohhh nice! | 09:17 |
|
| Onemore thing if you don't mind | 09:17 |
|
| When I do git commit --amend and get taken to the editor, how come the commit is still amended even though I exit the editor instead of saving it? | 09:18 |
|
| Like, once I do git commit --amend, there's no turning back? | 09:18 |
| → fphilipe joined | 09:18 |
|
osse
| you can empty the editor | 09:18 |
|
| or make it exist with a failing exit status | 09:19 |
|
gitter1234
| I see. Sounds good! | 09:19 |
| ← fphilipe_ left | 09:21 |
|
canton7
| gitter1234, or you can go ahead with the amend, and then undo it | 09:22 |
|
gitter1234
| I'm good :-) | 09:24 |
|
| canton7: Are you a Spree/Solidus dev by any chance? | 09:24 |
|
| Your nick seems familiar. | 09:25 |
| → YuGiOhJCJ joined | 09:25 |
| → tsujp joined | 09:27 |
|
gitter1234
| Half German half Turkish? | 09:28 |
|
| Nevermind | 09:28 |
| → igemnace joined | 09:30 |
| → Kaisyu7 joined | 09:32 |
| → Syzygy joined | 09:33 |
| ← voker57 left | 09:34 |
| → feriman joined | 09:36 |
| → voker57 joined | 09:37 |
| ← graungaard left | 09:38 |
| → vitaminx joined | 09:41 |
| → jstein joined | 09:42 |
| ← xco left | 09:49 |
| ← sbeyer left | 09:51 |
| → sbeyer joined | 09:53 |
| ← yonder left | 09:54 |
| ← kleisli left | 09:58 |
| ← fphilipe left | 09:58 |
| ← Lope left | 10:00 |
| ← rfuentess left | 10:03 |
| → rfuentess joined | 10:03 |
| ← enoq left | 10:04 |
| → enoq joined | 10:06 |
| ← Dirak left | 10:08 |
| ← palooka-jock left | 10:09 |
| → dbacc joined | 10:09 |
|
dbacc
| hey, I had a forced update to some branch with git rebase. I'm the only user of the git repo and wanted to continue to work on that version on my second client. However, when I pull, I get a nasty merge conflict. How do I force getting the version from origin? | 10:10 |
|
osse
| don't pull. | 10:11 |
|
| git reset --hard origin/master (or whatever the branch name is) | 10:11 |
| ← YuGiOhJCJ left | 10:11 |
| → xco joined | 10:12 |
|
osse
| (assuming you don't have any non-push commits for your second client) | 10:12 |
|
dbacc
| osse: that worked, thanks! And no, it just kept rechanging certain things | 10:14 |
| → libertyprime joined | 10:19 |
| ← sunri5e left | 10:21 |
| → sunri5e joined | 10:25 |
| → fphilipe joined | 10:25 |
| → charolastra joined | 10:26 |
| → statusf90 joined | 10:29 |
| ← fphilipe left | 10:30 |
|
charolastra
| i've got a customer that wants the web-deployment through git on a self hosted repo. the project is already composed of various submodules. would you copy everything, strip all of git from the directory tree and then commit/push it to that private repo or are ther bette ways? | 10:30 |
| → palooka-jock joined | 10:30 |
| → FH_thecat joined | 10:31 |
| ← BonusPlay left | 10:37 |
| → BonusPlay joined | 10:37 |
| ← pandakekok9 left | 10:42 |
| ← igemnace left | 10:44 |
| → figuinhas joined | 10:47 |
| → pandakekok9 joined | 10:50 |
| ← glosoli left | 10:52 |
| → barteks2x joined | 10:58 |
| → fphilipe joined | 10:59 |
| → igemnace joined | 11:00 |
| → glosoli joined | 11:03 |
| ← fphilipe left | 11:04 |
| ← glosoli left | 11:06 |
| → doublex__ joined | 11:10 |
| ← ledx left | 11:11 |
| ← AndrewPRS left | 11:14 |
| ← doublex_ left | 11:14 |
| → AndrewPRS joined | 11:14 |
| ← chele left | 11:14 |
| ← jimender2 left | 11:14 |
| → chele joined | 11:14 |
| ← beastDiv_ left | 11:14 |
| ← JanC left | 11:15 |
| → JanC joined | 11:15 |
| → glosoli joined | 11:17 |
| ← xco left | 11:22 |
| → CCR5-D32 joined | 11:28 |
| → Brainium joined | 11:29 |
|
osse
| !deploy | 11:31 |
|
gitinfo
| Git is not a deployment tool, but you can build one around it (in simple environments) or use it as an object store(for complex ones). Here are some options/ideas to get you started: http://gitolite.com/deploy.html | 11:31 |
|
charolastra
| thanks | 11:38 |
| ← statusf90 left | 11:39 |
| → torbjorn joined | 11:40 |
| → Lucas_Gray joined | 11:40 |
| ← Matej8 left | 11:41 |
|
torbjorn
| In a particular application I need a file to be checked out and not have its newlines modified. the rest of the files in the repo I don't care about, and the default handling is probably fine. | 11:41 |
|
| well this is part of a test case. Do I need to just handle this problem in my test code, ie have it string replace on all newlines in the file and write them to a temp file, or can I tell git not to touch the newlines of this particular file only? | 11:42 |
|
| ah .gitattributes perhaps | 11:43 |
| → troulouliou_dev joined | 11:44 |
| → catphish joined | 11:45 |
| → sickdyd joined | 11:45 |
| ← pandakekok9 left | 11:46 |
|
osse
| torbjorn: yeah. 'filename -text' > .gitattributes | 11:46 |
|
sickdyd
| hello! how can I create a github repo by command line? | 11:46 |
|
osse
| !hub | 11:46 |
|
gitinfo
| Hub is a wrapper around git which provides specific github features to the git cli. See https://github.com/github/hub for details. | 11:46 |
|
osse
| !spindle | 11:46 |
|
gitinfo
| [!git-spindle] https://github.com/seveas/git-spindle is a handy tool to use the features of GitHub (and GH Enterprise), GitLab, BitBucket and possibly more from the command line. | 11:46 |
|
sickdyd
| I have my project and I'd like to push it to github without having to go on the website | 11:46 |
|
osse
| those two probably do the trick | 11:47 |
|
sickdyd
| osse: cheers | 11:47 |
|
pandem1
| sickdyd: https://hub.github.com/ | 11:47 |
|
sickdyd
| pandem1: thanks | 11:47 |
|
catphish
| i have a branch that i've reset back a few commits, and added some new commits, i would like to push it to a remote, is there a way i can create a new commit that points to my new tree, completely disregarding what's at the remote, but which has the remote as a parent, essentially i want a push -f of my branch but i don't want to actually force a push | 11:48 |
|
cadabrax
| Hey, what was this webpage to help you out with most git problems where it would ask questions to understand what's happening and then suggest commands to run to fix it? | 11:48 |
|
torbjorn
| osse: thanks! | 11:49 |
|
bremner
| cadabrax: google? (sorry, could not resist) | 11:49 |
|
cadabrax
| haha no | 11:50 |
|
| it was a few years ago on this channel IIRC | 11:50 |
| → mikecmpbll joined | 11:51 |
|
catphish
| looks like "git merge -s ours origin/branch" is what i want | 11:52 |
| ← lefne left | 11:52 |
| → flaviodesousa joined | 11:53 |
| → prc94 joined | 11:53 |
| ← prc94 left | 11:53 |
| → Rashad joined | 11:54 |
| ← OnkelTem left | 11:54 |
| → cdown_ joined | 11:55 |
| ← cdown left | 11:57 |
| cdown_ → cdown | 11:57 |
| → statusf90 joined | 12:00 |
| → royal_screwup21 joined | 12:00 |
| → cd joined | 12:01 |
| → emihir0 joined | 12:02 |
| → oatmealraisin joined | 12:02 |
| ← royal_screwup21 left | 12:04 |
| → thevishy joined | 12:04 |
| → royal_screwup21 joined | 12:10 |
| ← milkt_ left | 12:13 |
|
oxymoron93
| cadabrax is this it: https://sethrobertson.github.io/GitFixUm/fixup.html | 12:13 |
| ← Lucas_Gray left | 12:13 |
|
cadabrax
| oxymoron93: yes, thank you | 12:15 |
| ← Rashad left | 12:15 |
|
oxymoron93
| it is under _fixup if you ever need to recover it | 12:16 |
|
cadabrax
| good to know, thank you | 12:16 |
| → milkt joined | 12:16 |
| → Lucas_Gray joined | 12:17 |
|
oxymoron93
| tho I never read it, it seems like a nice project this Seth did | 12:18 |
|
gitter1234
| man i love this feeling... when you're done with your app and can finally lower your shoulders | 12:19 |
|
| and actually enjoy rebasing going from the initial commit to the last, cleaning up things as you go :) | 12:20 |
| ← sbeyer left | 12:20 |
| → fphilipe joined | 12:26 |
| → mowcat joined | 12:27 |
| → lucasb joined | 12:28 |
| → haiiokarin joined | 12:29 |
| ← enoq left | 12:32 |
| → enoq joined | 12:36 |
|
trittweiler
| I have a file which was deleted locally. Is there a way to find out *when* that file was deleted? | 12:40 |
|
oxymoron93
| git diff --diff-filter=D -- file something like that | 12:42 |
|
| git log | 12:42 |
|
| pardone me | 12:42 |
|
| yeah, seems like I haven't misspelled option: https://git-scm.com/docs/git-log#Documentation/git-log.txt---diff-filterACDMRTUXB82308203 | 12:43 |
|
trittweiler
| The file is only deleted locally, not as part of a commit. `git status` lists it as "deleted" | 12:45 |
|
| an unstaged delete | 12:45 |
|
| It's a silly question, thinking about it. There is no way for git to have a track of this | 12:46 |
| → aw1 joined | 12:47 |
|
oxymoron93
| sure, if just deleted, git status will give you the info :) | 12:47 |
|
_ikke_
| trittweiler: correct, git does not know *when* it was deleted | 12:48 |
|
oxymoron93
| just recently | 12:48 |
|
_ikke_
| you could delete it, and run git status a year later | 12:48 |
| ← catphish left | 12:55 |
| ← sybariten left | 12:56 |
| → azwieg103 joined | 13:02 |
| ← thevishy left | 13:06 |
| → R2robot joined | 13:10 |
| → TomyWork joined | 13:13 |
| ← johnny56 left | 13:18 |
| ← royal_screwup21 left | 13:20 |
| → clime joined | 13:21 |
| → crose joined | 13:22 |
| ← ShapeShifter499 left | 13:23 |
| ← glosoli left | 13:23 |
| ← BeerLover left | 13:24 |
| → glosoli joined | 13:25 |
| → johnny56 joined | 13:26 |
| → milkt_ joined | 13:30 |
| → chrisml` joined | 13:30 |
| ← chrisml left | 13:30 |
| ← milkt left | 13:32 |
| ← clemons1 left | 13:32 |
| ← aw1 left | 13:32 |
| ← feriman left | 13:33 |
| → clemons1 joined | 13:33 |
| → feriman joined | 13:35 |
| → royal_screwup21 joined | 13:36 |
| → CryptoDavid joined | 13:42 |
| ← Lucas_Gray left | 13:42 |
| → Paradisee joined | 13:43 |
| → cfoch joined | 13:46 |
| ← royal_screwup21 left | 13:52 |
| → fercell joined | 13:53 |
| ← fercell left | 13:58 |
| ← hendry1 left | 14:04 |
| → sidetrack joined | 14:05 |
|
Tobbi_
| So, apparently, I changed my default push target using the command git push -u azure --all. Assuming I want to set it back to origin, do I simply do git push -u origin --all | 14:11 |
|
| ? | 14:11 |
|
| Or can I destroy stuff? | 14:11 |
|
| I mean, will that destroy stuff? | 14:12 |
| ← kjartan left | 14:16 |
| → crater2160 joined | 14:16 |
| ← crater2160 left | 14:17 |
| ← crater2150 left | 14:18 |
| → crater2150 joined | 14:18 |
| → kjartan joined | 14:18 |
| → causasui joined | 14:20 |
|
_ikke_
| Tobbi_: git branch --set-upstream-to | 14:24 |
|
Tobbi_
| _ikke_: Can I update multiple branches like that? | 14:24 |
|
_ikke_
| Not in one command | 14:25 |
| ← justanotheruser left | 14:25 |
| ← glosoli left | 14:25 |
| ← dedowsdi left | 14:25 |
|
Tobbi_
| Hrm...so that command above git push -u origin --all won't re-set it to origin? (I can't test because origin is currently not available) | 14:25 |
| → glosoli joined | 14:27 |
| ← glosoli left | 14:27 |
| → xco joined | 14:31 |
| ← oxymoron93 left | 14:34 |
| → g4570n joined | 14:34 |
| → justanotheruser joined | 14:37 |
| → SteffanW joined | 14:39 |
| ← Noti left | 14:40 |
| → dionysus69 joined | 14:43 |
| ← enoq left | 14:44 |
| ← oatmealraisin left | 14:44 |
| ← seraphire left | 14:44 |
| ← duderonomy left | 14:50 |
| → thiago joined | 14:53 |
| ← donofrio left | 14:53 |
| ← shady_traveller left | 14:55 |
| → CodeSlingerPaul joined | 14:56 |
| → glosoli joined | 15:00 |
| → Noti joined | 15:01 |
| → Dirak joined | 15:01 |
| ← statusf90 left | 15:01 |
| ← SteffanW left | 15:05 |
| ← Dirak left | 15:06 |
| ← bvdw left | 15:09 |
| → bvdw joined | 15:10 |
| ← jaziz left | 15:10 |
| ← im0nde_ left | 15:10 |
| ← Anthaas left | 15:10 |
| ← comptroller left | 15:11 |
| → Anthaas joined | 15:11 |
| ← g4570n left | 15:11 |
| → zher joined | 15:15 |
| ← ttoocs left | 15:15 |
| → hussam joined | 15:17 |
|
henrebotha[m]
| Curious about how Git stores linked working trees. I see .git/worktrees/my-branch has a huge file called index | 15:20 |
|
| Is that file like a patch on top of the main working tree? Or what's happening there? | 15:21 |
| ← sQVe left | 15:22 |
| → Dirak joined | 15:22 |
| → comptroller joined | 15:22 |
| ← clime left | 15:23 |
| → g4570n joined | 15:23 |
| ← haiiokarin left | 15:25 |
|
selckin
| can have one entry for every file in the repo, shouldn't be 'huge' | 15:25 |
| → sperry joined | 15:26 |
| ← sickdyd left | 15:27 |
| ← deltam left | 15:27 |
| ← Dirak left | 15:27 |
| ← sauvin left | 15:28 |
|
cadabrax
| how could I build a list of people who committed to a repo up to a certain commit in the past? I'd like to know who worked on a repo up until a commit from a year ago, but not include people who have worked on it later. | 15:28 |
| → thevishy joined | 15:29 |
| ← xSke left | 15:29 |
|
selckin
| git log --pretty=format:'%an' --abbrev-commit --before='Fri Jan 17 08:05:24 2015 +0100' | sort -u | 15:30 |
| ← omnireq_ left | 15:34 |
| ← trittweiler left | 15:39 |
| → sauvin joined | 15:40 |
| → xalen7 joined | 15:41 |
| → truthseeker joined | 15:41 |
| → roadie joined | 15:42 |
| → Lucas_Gray joined | 15:42 |
| ← xalen7 left | 15:43 |
| → bolovanos joined | 15:44 |
| → enoq joined | 15:44 |
| ← bolovanos left | 15:45 |
| → bolovanos joined | 15:46 |
| ← floppydh left | 15:47 |
| ← comptroller left | 15:48 |
| → cousteau joined | 15:54 |
|
cousteau
| Hi! | 15:54 |
| ← sperry left | 15:54 |
|
osse
| henrebotha[m]: that's just like .git/index, except for the other working tree | 15:55 |
|
cousteau
| Version control of MS Word documents? (any rich text document that can be opened in MS Word, not necessarily .docx) | 15:55 |
|
henrebotha[m]
| Ok so I guess I need to know how .git/index works then! Lol | 15:55 |
|
cousteau
| I was wondering if git can deal with RTF, but I'm not sure it's texty enough | 15:56 |
|
selckin
| its just a binary file to git | 15:56 |
| ← is_null left | 15:57 |
|
cousteau
| Specifically I'm interested in whether there is a way to merge Word documents, because Word's merging tool sucks (and I can prove it, it's not a personal opinion) | 15:57 |
|
osse
| henrebotha[m]: the index is the "middle man" between commits and the actual files on disk. it's used for several purposes, most notably keeping track of what you've git add'ed | 15:57 |
|
cousteau
| Basically it lacks the three-way merge features a proper version control system has | 15:57 |
|
selckin
| cousteau: no | 15:58 |
|
cousteau
| :( | 15:58 |
|
| RTF is a text format btw. But I don't know if it's the kind of text format that works fine with git | 15:59 |
| ← thiago left | 16:01 |
| → durham joined | 16:02 |
|
osse
| I say just commit it and deal with it if it becomes a problem | 16:03 |
|
henrebotha[m]
| cousteau: this article covers some basic techniques https://blog.martinfenner.org/2014/08/25/using-microsoft-word-with-git/ | 16:04 |
| → comptroller joined | 16:04 |
|
henrebotha[m]
| Git allows you to shell out to external tools for various purposes such as diffing | 16:04 |
|
| It may be possible to use those to get a reasonable workflow | 16:05 |
| → prepend joined | 16:06 |
| → duderonomy joined | 16:06 |
| ← gordonfish left | 16:07 |
| → gordonfish joined | 16:07 |
|
cousteau
| I don't know how reliable pandoc is for doc diffing | 16:07 |
| → Anon34623 joined | 16:08 |
| ← Noti left | 16:09 |
|
sdgathman
| 90% of the problems people have with Word or LibreOffice are caused by using explicit formatting instead of styles. | 16:10 |
|
| Once that finally gets drilled into their heads, the light goes on, and they realize that WYSINWYG is not such a bad idea. Latex is maybe too complex, but markdown is simple to learn. | 16:11 |
| → rafasc joined | 16:12 |
| → jackedin joined | 16:13 |
| ← chele left | 16:13 |
| ← _Warl0ck left | 16:17 |
| ← dumb_moth left | 16:17 |
| → omnireq joined | 16:18 |
| → _Warl0ck joined | 16:19 |
| → dumb_moth joined | 16:20 |
| → oxymoron93 joined | 16:20 |
| ← dumb_moth left | 16:20 |
| ← _Warl0ck left | 16:20 |
| ← neckutrek left | 16:24 |
| ← thurstylark left | 16:25 |
|
charolastra
| is there no way to treat a submodule inside a master repository as just files? for the containing repo the git of the contained plugins doesn't matter | 16:25 |
| ← gxt left | 16:26 |
| ← zher left | 16:27 |
| ← mobidrop left | 16:30 |
| ← durham left | 16:31 |
| ← vitaminx left | 16:32 |
| ← tsprlng left | 16:35 |
| → is_null joined | 16:35 |
| → tsprlng joined | 16:36 |
| → fission6 joined | 16:38 |
| ← thevishy left | 16:38 |
| → Cyrano joined | 16:43 |
|
henrebotha[m]
| I mean making it a submodule is explicitly saying you want to treat it as a Git repo, not just files | 16:43 |
| ← rominron_ left | 16:43 |
| → fling joined | 16:43 |
| → thevishy joined | 16:43 |
| ← omnireq left | 16:46 |
| → omnireq joined | 16:47 |
|
charolastra
| well, i just called it a submodule | 16:47 |
|
osse
| sdgathman: i find using styles is hard too :( am I a moron? | 16:47 |
| → beastDivision joined | 16:47 |
| ← beastDivision left | 16:47 |
| → Silicium joined | 16:48 |
|
Silicium
| hi there | 16:48 |
| → greggerz joined | 16:49 |
|
Silicium
| when i do a git rebase to take changes from one branch into another, git will not change the commit ID. if i do it using a github pullrequest and rebase&merge, it changes them, why? | 16:49 |
| → durham joined | 16:50 |
| ← Joel left | 16:50 |
| ← fission6 left | 16:51 |
| ← rfuentess left | 16:53 |
| → fission6 joined | 16:54 |
| ← Anthaas left | 16:54 |
| ← durham left | 16:55 |
| ← xcm left | 16:56 |
| → xcm joined | 16:57 |
| → Anthaas joined | 16:57 |
| → z1haze joined | 16:59 |
| ← thevishy left | 16:59 |
|
z1haze
| general process question here, but in our process, we use mostly a trunk based process, but we do have release branches in which features are merged into, and then when the release is stable, that gets merged into master.. I keep getting into arguments with someone who is rebasing their feature branches onto the release that its going into rather than master | 17:00 |
|
| Am i wrong for this? My thought process is if you rebase your feature onto the release, and then the release gets something pulled out, then your feature could potentially have commits in there that shouldn't be | 17:01 |
| → durham joined | 17:02 |
| ← emihir0 left | 17:02 |
| ← durham left | 17:02 |
|
osse
| Silicium: I think you're wrong. git rebase almost always changes commit IDs | 17:03 |
|
| unless you're already rebased and there's nothing to do | 17:03 |
|
z1haze
| that is not for me, right? | 17:05 |
|
osse
| no | 17:05 |
| → thevishy joined | 17:05 |
|
z1haze
| cool, thanks. just making sure because "i think you're wrong" came right after asking if im wrong :D | 17:05 |
|
Silicium
| osse: i dont know what i'am doing different but it doesnt in my case | 17:06 |
|
| same timestamp same id | 17:06 |
|
osse
| that sounds *very* strange | 17:06 |
|
| can you !repro | 17:06 |
|
gitinfo
| [!transcript] Please paste (using https://gist.github.com/ or similar) a transcript ( https://git.io/viMGr ) of your terminal session so we can see exactly what you see | 17:06 |
|
Silicium
| nope, since it is an internal one, sorry | 17:07 |
| ← is_null left | 17:07 |
| ← igemnace left | 17:07 |
|
osse
| i don't need to see the code. just the commands you run and some shas | 17:08 |
|
| but anyway, if you can do git rev-parse HEAD and then git rebase whatever and then git rev-parse HEAD again, and it prints the same thing then you are a wizard | 17:08 |
| → thiago joined | 17:08 |
| → micro4lpha joined | 17:09 |
| → lefne joined | 17:09 |
|
micro4lpha
| what is the best practice to develop on a dev branch and then merge to a master branch (I need to modify some values after I merge to the master branch) and I don't want it to be an individual commit on the master branch. Basically to have two environmnets at the same time | 17:09 |
|
| dev and prod | 17:09 |
|
charolastra
| you keep those individual settings out of git. if it's for web you can use environment variables | 17:11 |
| → prc94 joined | 17:12 |
| ← flaviodesousa left | 17:13 |
| → is_null joined | 17:15 |
|
rafasc
| z1haze: usually once you have a release-branch, only bugfixes get merged. | 17:17 |
| ← lefne left | 17:17 |
| → lefne joined | 17:18 |
|
rafasc
| z1haze: but creating feature branches on the oldest relevant commit is also common. Because it allows you to merge features independently. | 17:18 |
|
z1haze
| rafasc, thanks.. so in that case.. what do you do with a feature that still needs to be tested? does it not get merged into a release until it is tested? | 17:18 |
|
micro4lpha
| charolastra: the thing is those settings are java spring boot and they are needed for profile settings | 17:18 |
|
Anon34623
| Good $timeoftheday, everybody. I am fairly new to this channel, so excuse me for probably not formatting my message in an appropriate manner. In any case, I would like to ask a git-related question. I am using Arch and I've been trying to set up my own git server on nginx with gitweb (for web interface) lately, and it works great, except for the fact default git http backend doesn't really have any authentication options besides those on the webserver | 17:19 |
|
| side, such as basic password-based authentication, which is much less than I need. My goal is to have an authentication level sufficient to provide account-based access to repos (not just git itself). I found that gitolite is a good way to achieve this, but I haven't been able to find any relevant documentation on integrating it into my git (nginx/git-http-backend/gitweb) setup, only some information in regards to Apache. Can anyone provide me with such a | 17:19 |
|
| piece of documentation or with a sequence of actions I am required to take in order to make it work? Alternatively, if implementation of gitolite is impossible in such a setup, are there any similar alternatives for gitolite with similar authentication capabilities? My current nginx conf file looks like this: https://upaste.de/P88 | 17:19 |
|
z1haze
| rafasc, that is my understanding too.. we have an issue though where a feature will get merged into the release, because QA tests the release branch, and they find too many issues so that feature has to get pulled out of the release, which requires we rebuild the relase | 17:19 |
|
micro4lpha
| like while it's on dev I want it to load spring.boot.profile=dev, when it's on prod i want it to load spring.boot.profile=aws | 17:19 |
|
charolastra
| micro4lpha: no idea about java but you need to keep it out of git | 17:19 |
|
z1haze
| so i guess we are just missing the piece of what do we do with a feature that we aren't sure is ready to go into the release, because it hasnt been given a green light by QA to get merged | 17:19 |
|
| currently, we deploy the feature solo to a test instance and they test it there and give the thumbs up, if that happens they it gets merged to the release.. but the flow for that is clunky | 17:20 |
|
rafasc
| z1haze: depends, there are numerous way to make an workflow, for example in the git project the various feature branches are merged into something called pu (proposed updates) where various features are tested together to see if they may interfere between them. | 17:20 |
|
| then each feature goes throw a promoting process until it reaches master. pu -> next -> master. | 17:21 |
| ← cd left | 17:21 |
|
micro4lpha
| charolastra: can't keep it out of git as it gets built on Amazon into a docker container and has to be inside the file | 17:21 |
| ← nutron left | 17:22 |
|
micro4lpha
| i'm sure someone has another solution | 17:22 |
|
z1haze
| so the pu branch isnt an eternal branch? | 17:22 |
|
| like a 'develop' branch.. because i def don't want to go that way | 17:22 |
|
rafasc
| No, it gets rewritten all the time. But the git process is different, because you do not use branches. You submit patches via email, and all the branches are managed by the maintainer. | 17:23 |
|
z1haze
| currently we have likea hybrid of trunk based with releases.. maybe i should look into going full into trunk based process | 17:23 |
| ← thevishy left | 17:23 |
|
z1haze
| via email? | 17:23 |
|
| oh geez | 17:23 |
|
rafasc
| git and the linux kernel are both managed via email. | 17:25 |
|
dzho
| Anon34623: I don't know about making such integrations. I do know that pagure builds atop gitolite to offer web access to repos. | 17:25 |
|
| beyond that there are things like self-hosted gitlab, gitea, gogs, kallithea ... | 17:26 |
|
| trac, I suppose | 17:26 |
| ← mikecmpbll left | 17:27 |
| ← Khisanth left | 17:27 |
| → mikecmpbll joined | 17:28 |
| → thevishy joined | 17:29 |
|
z1haze
| rafasc, so people are emailing their code changes to files and a single individual patches that into a branch? | 17:29 |
|
| why wouldnt the dev just make a PR | 17:29 |
|
rafasc
| because it's the workflow they use. There isn't a public repo you can PR agaist. All public repos are just mirrors. | 17:30 |
| ← TomyWork left | 17:30 |
| ← thevishy left | 17:31 |
|
rafasc
| if your really want to contribute to git via github PRs, you can use https://gitgitgadget.github.io/ which is a bot that converts the PRs into mail submissions. It's managed by the git for windows maintainer. | 17:31 |
| → localhorse joined | 17:31 |
|
rafasc
| remember that github and git are different things. !git_vs_github | 17:32 |
|
gitinfo
| [!github_vs_git] github.com is not git; it's a hosting platform for git. There are alternative hosting offers (you can even host repositories yourself, or work on something on your own without any hosting whatsoever), and the range of features on the corresponding websites may differ. Git has little influence on what happens in github's web interface. | 17:32 |
| → mat001 joined | 17:32 |
| ← fphilipe left | 17:33 |
| → zher joined | 17:34 |
| ← mikecmpbll left | 17:36 |
| → thevishy joined | 17:37 |
| → Khisanth joined | 17:40 |
| ← oxymoron93 left | 17:41 |
| ← fission6 left | 17:42 |
| → kleisli joined | 17:46 |
| ← thevishy left | 17:46 |
| → nickodd joined | 17:49 |
| ← is_null left | 17:50 |
| ← Jackneill left | 17:50 |
| ← azwieg103 left | 17:51 |
| → azwieg103 joined | 17:51 |
|
dzho
| speaking of email-based workflows, this also reminds me that SourceHut is a thing | 17:51 |
| → fission6 joined | 17:52 |
| → Dirak joined | 17:53 |
| → orentanay joined | 17:53 |
| ← prc94 left | 17:54 |
| ← FFY00 left | 17:58 |
| → FFY00 joined | 17:58 |
| ← Dirak left | 17:59 |
| → sgen joined | 18:05 |
| → clime joined | 18:05 |
| ← truthseeker left | 18:07 |
| → prc94 joined | 18:12 |
| → sbeyer joined | 18:12 |
| → igemnace joined | 18:14 |
| ← gitter1234 left | 18:15 |
| ← Lucas_Gray left | 18:15 |
| → savolla joined | 18:15 |
| ← amcclure left | 18:15 |
| ← lungaro left | 18:17 |
| → amcclure joined | 18:18 |
| → xalen7 joined | 18:19 |
| → Phylock joined | 18:19 |
| → leeN joined | 18:20 |
| ← Paradisee left | 18:24 |
| ← igemnace left | 18:29 |
| → plexigras joined | 18:31 |
| → Dirak joined | 18:41 |
| ← dbacc left | 18:41 |
| → igemnace joined | 18:42 |
|
FLHerne
| z1haze: Note that git has various commands like `send-mail` and `mailsplit` that mostly automate that process | 18:44 |
| ← fission6 left | 18:44 |
|
FLHerne
| (most projects/devs with such a workflow have various shell-scripts as well) | 18:45 |
| → H2Q joined | 18:46 |
| ← vicfred left | 18:46 |
| → vicfred joined | 18:47 |
| → oatmealraisin joined | 18:48 |
| ← zher left | 18:49 |
| → fission6 joined | 18:50 |
|
z1haze
| im just trying to fight this git-flow argument | 18:52 |
|
| we have a guy whos just dead set on changing to that | 18:52 |
|
| most of us prefer trunk, but what we currently have isnt really either.. maybe a mashup | 18:52 |
| → erebel55 joined | 18:53 |
|
erebel55
| lo | 18:53 |
| ← enoq left | 18:53 |
|
z1haze
| definitely curious to hear the rooms opinion | 18:53 |
|
_ikke_
| those workflow models are mostly just that, models | 18:54 |
|
erebel55
| I canceled an in progress branch change and now I'm stuck with a ton of staged and unstaged files. I hadn't changed any files myself, so there is nothing to lose. But is there anyway to fix my repo without deleting and repulling everything? | 18:54 |
|
_ikke_
| I think no one hear would argue you have to adhere exactly to a certain workflow | 18:54 |
|
rafasc
| erebel55: yes, but depends on what you mean by "fix my repo". | 18:54 |
|
orentanay
| I'd like to setup 3 repos for a Magento 1.x multi store scenario where the base installation and package/theme are at the root and sub directories (this would be repo1), but then the packages for my other stores themes are split between 2 root level subfolders (app and skin), and within those sub folders are the files and sub folders for templates and styling that I want to be my seperate repos | 18:55 |
|
| (repo2 /app/package1/ and /skin/package1/) and (repo3 /app/package2 and /skin/package2). I'm guessing I can just add the use the gitignore for repo1 to exclude the directories for what I want in repos 2&3, but how would I setup Repos 2&3? sorry for the long cryptic description. Thanks. | 18:55 |
|
_ikke_
| z1haze: You have to use what makes sense for your project | 18:55 |
| ← glosoli left | 18:55 |
|
_ikke_
| z1haze: git flow is mostly geared towards projects that work with (sometimes multiple) stable releases | 18:55 |
|
rafasc
| _ikke_: I think what z1haze is trying to figure out is if git-flow makes sense for their project. | 18:55 |
|
erebel55
| I just want to get back to a point where I don't have any staged/unstages files. So get back to a clean slate on either the branch I had checked out when I canceled or the branch I was switching to. | 18:55 |
|
_ikke_
| rafasc: yes, I was following up on that | 18:56 |
|
z1haze
| we USUALLY have a single running release, 2 week sprints | 18:56 |
|
| there are occasions when the sprints are a bit longer, and MAY result in 2 release being in development at the same time, but this is very rare | 18:56 |
|
rafasc
| erebel55: if you use git status, it should tell you how to unstage changes. | 18:57 |
|
_ikke_
| z1haze: THe nice thing is that you can adopt your workflow to what makes sense at any given moment | 18:57 |
| ← fission6 left | 18:57 |
| → fphilipe joined | 18:57 |
|
rafasc
| erebel55: on recent versions of git, "git restore --staged :/" will unstage everything. | 18:57 |
|
_ikke_
| Have a single release, just work on master with feature branches and make a release when you're ready | 18:57 |
|
| working on multiple releases? Maybe branch of for a certain release while still continue to develop for the next version | 18:58 |
|
z1haze
| _ikke_, that's exactly what we do now | 18:58 |
|
| we branch features off master, then create a release when ready | 18:58 |
|
| merge those features into the release | 18:58 |
|
| and releae gets tested | 18:58 |
|
_ikke_
| z1haze: And I would argue you could still call that kind of git-flow (maybe a lighter version, which is sometimes also called github flow) | 18:59 |
|
z1haze
| the issue we have though is that features don't get tested (by qa) until they're merged into the release. and if qa finds a lot of issues, we end up having to back that feature out of the release, and its a pain in the ass | 18:59 |
|
rafasc
| erebel55: with older versions, git reset; will do it. | 18:59 |
| → glosoli joined | 19:00 |
| → zher joined | 19:00 |
|
_ikke_
| z1haze: Not sure how git-flow would solve this though. At some point, you have to wait until features get merged, or they will have to test individual feature branches | 19:00 |
|
rafasc
| what kind of qa is that? quality assurance only after the code is considered releases? o.O | 19:00 |
| → fission6 joined | 19:01 |
|
_ikke_
| Kind of a waterfall model | 19:01 |
|
| you first do all the development, once everything is finished, you hand over to QA | 19:01 |
| ← nickodd left | 19:02 |
|
_ikke_
| z1haze: Is there no way for QA to test whatever is in master at any given time? | 19:02 |
|
z1haze
| heh, look at production i guess | 19:02 |
|
| that is master | 19:03 |
|
_ikke_
| But isn't that already too late? | 19:03 |
|
rafasc
| once everything is finished should be different than considering it a release. Ideally, finish - handover to QA - get thumbs up from QA - promote it to release. | 19:03 |
|
z1haze
| we dont merge into master until qa says its good | 19:03 |
|
_ikke_
| Wouldn't you want to test things before they go to production? | 19:03 |
|
z1haze
| of course dude | 19:03 |
|
| hold on a second, i think you've misunderstood me | 19:03 |
|
_ikke_
| yes, I think so | 19:03 |
|
z1haze
| day one of sprint is like this: release branch created off master, then all features are created off master.. developers submit PR to release branch as they finish, PR is merged into release | 19:04 |
|
| the issue is we dont really have a process for QA to test individual or even combined features before they get into the release branch | 19:04 |
|
| and if durign testing the release branch qa finds issues witha particular feature, we have to revert that feature from the release, and if there were a lot of commits/changes it can be a pain | 19:04 |
|
_ikke_
| z1haze: ok, git flow is more like this: everyone branches of from master for their feature branches. Once they are considered ready, they get merged to master | 19:05 |
|
z1haze
| uh? | 19:05 |
|
| git flow is where everything is merged into the develop branch | 19:05 |
|
_ikke_
| Euh, right | 19:05 |
|
| Which is your integration branch basically | 19:05 |
|
z1haze
| we don't have that. | 19:06 |
|
| we have a release branch | 19:06 |
|
| the release branch is what is tested | 19:06 |
|
| i guess we need to just think through a new process | 19:06 |
|
_ikke_
| Yeah, but it sounds like you have a need for an integration branch | 19:06 |
|
| where you can integrate new features which can be tested combined | 19:06 |
|
z1haze
| we were using the release branch as that branch | 19:07 |
|
rafasc
| And to consider common nomenclature. What you guys are doing are not what people commonly use release-branches for. | 19:07 |
| → munsterberg joined | 19:07 |
|
z1haze
| so the release was the integration tested branch | 19:07 |
|
| but they want to be able to test these features independent before the release | 19:07 |
|
| so i just need a some process to deploy features to an instance where they can be tested | 19:08 |
|
munsterberg
| for release branches, should merges be done directly to the release branch, or should they go through the devleopment branch first? I realize this question could probably use some context, so if you have any clarification questions, shoot | 19:08 |
|
_ikke_
| munsterberg: sounds similar to what z1haze is asking about | 19:08 |
|
| z1haze: another interesting aproach might be what git itself is doing | 19:09 |
|
munsterberg
| sorry, just joined missed the previous conversation | 19:09 |
|
rafasc
| munsterberg: !logs in case you're interested | 19:09 |
|
gitinfo
| munsterberg: [!irclog] Public logs of #git are kept at: https://gitirc.eu/log | 19:09 |
| ← fission6 left | 19:10 |
|
munsterberg
| perfect thank you | 19:10 |
|
_ikke_
| z1haze: the maintainer basically merges topics / features that are somewhat polished to pu (proposed updates) | 19:10 |
|
z1haze
| i heard someone say this earlier | 19:10 |
|
| but then he said sometyhing along the lines of its all done via email | 19:10 |
|
_ikke_
| But this branch is regularly rewritten | 19:10 |
|
| yes, but that's just a detail | 19:10 |
| ← cousteau left | 19:11 |
|
z1haze
| so basically its a 'develop' branch that isnt eternal | 19:11 |
|
_ikke_
| It's basically a living integration branch | 19:11 |
|
z1haze
| yeah | 19:11 |
| ← Codaraxis_ left | 19:11 |
|
z1haze
| so its just the same as my release is now | 19:11 |
|
| except the release can be sure it has only stuff that will stay | 19:11 |
|
_ikke_
| Well, the difference is that people don't build on it | 19:11 |
|
z1haze
| no one builds on the release either | 19:11 |
|
| they shouldnt be anyway | 19:11 |
|
_ikke_
| If some feature should be dropped, the branch is rebuilt | 19:12 |
|
z1haze
| correct | 19:12 |
|
| that's how our release branch works | 19:12 |
|
rafasc
| No, you said you revert. | 19:12 |
|
| pu actually drops the commits out of the log. The branch is rewritten. | 19:12 |
|
_ikke_
| ok, but calling it a release branch can be confusing (people have expectations with that kind of name, like rafasc already mentioned earlier) | 19:12 |
| ← fphilipe left | 19:13 |
|
z1haze
| well we dont use revert commits actually, we usually just literally rebuild the release | 19:13 |
|
| yeah i totally get it | 19:13 |
|
| but in my case it really is a release branch | 19:13 |
|
_ikke_
| ok, but then there should be no issue merging feature so that they can be tested, right? | 19:13 |
| → fission6 joined | 19:13 |
|
z1haze
| because it is what ultimately will get merged into master | 19:13 |
| ← Khisanth left | 19:14 |
|
z1haze
| not if we just keep rebuilding the release | 19:14 |
|
| but i dont want to have to do that | 19:14 |
|
_ikke_
| git itself has another intermediate branch | 19:14 |
|
z1haze
| its a pain, especially if there are a lot of commits | 19:14 |
|
_ikke_
| pu -> next -> master | 19:14 |
|
z1haze
| so feature -> pu ... ? | 19:14 |
|
| is next the release? | 19:14 |
|
_ikke_
| next will be the next release :) | 19:15 |
|
z1haze
| and it goes from features into pu? | 19:15 |
| ← xalen7 left | 19:15 |
|
rafasc
| For me the pain is that you guys are calling 'release branch' to something that the community call something else. | 19:15 |
|
z1haze
| rafasc, is it not a release though, this branch, though it gets rewritten (if necessary) ultimately gets tagged and merged into master when it goes to production | 19:15 |
|
| how is that not a release | 19:15 |
|
_ikke_
| yes, topic branch gets merged into pu after the first round of review | 19:15 |
|
munsterberg
| for my own clarification, what is 'pu'? | 19:15 |
|
_ikke_
| munsterberg: proposed updates | 19:16 |
|
munsterberg
| ok thank you | 19:16 |
|
_ikke_
| It's the first point of integration | 19:16 |
|
| can be unstable | 19:16 |
|
| features can be dropped again | 19:16 |
|
| is regularly rewritten | 19:16 |
|
z1haze
| _ikke_, so how does the feature get a first round of review.. how can it be given a code review if there is nowhere to submit a PR to.. how does it get build to a test instance if it is just a feature | 19:16 |
|
_ikke_
| z1haze: in the case of git or in your case? | 19:16 |
| → Sasazuka joined | 19:17 |
|
z1haze
| git | 19:17 |
|
| curious how they do it | 19:17 |
|
| that's our sticking point | 19:17 |
|
_ikke_
| You post a patch series to the mailing list (which is basically similar to making a merge / pull request) | 19:17 |
|
z1haze
| its hard to qa a feature without first submitting the PR to release and then merging then testing | 19:17 |
|
rafasc
| z1haze: doesn't make sense to call it release imho. release is something that you release to the public. Once you merge that to master, You could fastforward the release branch to that point, but call that branch that gets rewritten "release" is outright confusing because that's not what the community expect from a release branch. | 19:18 |
|
z1haze
| we do fast forward master at that point | 19:18 |
|
| and we tag that commit as a release commit | 19:18 |
|
rafasc
| I bet part of the confusion is people trying to apply things they read about "release branches" to your workflow. | 19:18 |
|
_ikke_
| in git-flow, a release branch is the branch you create right before a release | 19:18 |
|
rafasc
| But it's simply not the same thing. Hence fights... | 19:18 |
| ← lefne left | 19:18 |
|
_ikke_
| It mostly contains commits to prepare the release, and maybe last-minute fixes | 19:18 |
|
z1haze
| fair enough | 19:18 |
| ← jetchisel left | 19:19 |
|
z1haze
| so in your opinion, a release branch should be used for what? simply branching off the pu branch and .. ? | 19:19 |
|
| sounds like in the end, once all dev is done, the PU branch and the RELEASE branch would be identical | 19:19 |
|
| because they'd all have the same code | 19:19 |
|
_ikke_
| No, the pu branch is always updated with new features | 19:20 |
|
z1haze
| but when it gets reset.. where does it get reset to | 19:20 |
|
| to master? | 19:20 |
|
| you guys said that it goes pu -> next -> master | 19:20 |
| → jetchisel joined | 19:21 |
|
z1haze
| does it actually go feature -> pu, then feature -> next? | 19:21 |
|
_ikke_
| yes | 19:21 |
|
z1haze
| yes to which statement | 19:21 |
|
_ikke_
| the latter | 19:21 |
|
z1haze
| so pu is literally just a intermediate integration/testing grounds | 19:22 |
|
_ikke_
| exactly | 19:22 |
|
| so it might be a good source for deploying somewhere to test around | 19:22 |
|
z1haze
| im trying to think of a logical jira workflow for that then | 19:22 |
|
| and another question then -- i've always though it best to test individual features off master, so that this feature is the only thing in play.. if we are deploying the pu branch to test features, then we dont always know what the issue is | 19:23 |
| ← sgen left | 19:23 |
|
_ikke_
| A good CI system might help there | 19:23 |
|
| but you need good automation to be able to actually deploy each individual feature | 19:24 |
|
rafasc
| there's also the personal jch, which is the attempt of the maintainer for the pu branch. But that's not part of the official flow, Junio just lets us peek. | 19:24 |
|
z1haze
| we have a basic one, well we use bitbucket's piplines and its decent | 19:24 |
| ← caveman left | 19:24 |
|
z1haze
| the ci isnt our issue, its the number of environments we have | 19:24 |
|
| the platform we develop on is a saas | 19:24 |
|
| so we require their system, and we are limited on environments | 19:24 |
|
_ikke_
| right, so you might need to adopt your workflow then as well | 19:25 |
|
z1haze
| we just deploy code to the 'instance' and it runs on their server | 19:25 |
|
_ikke_
| I don't think it's feasible to test each individual feature in isolation (would be a point of contention probably) | 19:25 |
| ← sauvin left | 19:26 |
| → Samian joined | 19:26 |
|
Samian
| how do I undo my last push to remote? | 19:26 |
|
z1haze
| reset and force push | 19:26 |
|
Samian
| I type git reset | 19:26 |
|
| git force push ? | 19:26 |
|
| huh? | 19:26 |
|
rafasc
| Samian: !rewrite | 19:26 |
|
gitinfo
| Samian: Rewriting public history is not recommended. Everyone who has pulled the old history will have to do work (and you'll have to tell them to), so it's infinitely better to just move on. If you must, you can use `git push --force-with-lease <remote> <branch>` to force (and the remote may reject that, anyway). See http://goo.gl/waqum | 19:26 |
|
z1haze
| `git reset --hard "HEAD^"` i believe will reset it. use --soft if you want to keep your changes staged | 19:27 |
|
_ikke_
| that would just reset the last commit | 19:27 |
|
z1haze
| that's what hes asking | 19:27 |
|
_ikke_
| They could have pushed more then one commit | 19:27 |
|
z1haze
| ah, good point | 19:27 |
| ← jackedin left | 19:27 |
|
rafasc
| z1haze: please let they give more context, we don't even know if they know the consequences. | 19:28 |
|
_ikke_
| git push origin <branch>@{1}:<branch> | 19:28 |
|
| git push origin --force-with-lease <branch>@{1}:<branch> | 19:28 |
|
| but yes | 19:28 |
|
| context is important | 19:28 |
|
z1haze
| right on | 19:28 |
|
rafasc
| --hard --force* is all things that may put them in a situation harder to recover than what they have now. | 19:28 |
| → def_jam joined | 19:29 |
|
Samian
| when I type git rev-parse HEAD | 19:29 |
|
| I get 5098016bf0afa573b33244cfc5ef5d35bd86017d | 19:29 |
| → eb0t_ joined | 19:29 |
|
Samian
| when I type git branch -a, for master it shows remotes/origin/HEAD -> origin/master | 19:30 |
| ← eblip left | 19:30 |
| ← eb0t left | 19:30 |
| ← azwieg103 left | 19:31 |
| → lefne joined | 19:31 |
|
Samian
| fuck I hate fucking git | 19:31 |
| → Khisanth joined | 19:31 |
| → azwieg103 joined | 19:31 |
|
Samian
| I just want to undo the last push | 19:31 |
|
| no one else has pulled from git since | 19:31 |
|
| because it's just me and one other coworker | 19:31 |
|
rafasc
| the line remotes/origin/HEAD -> origin/master only tells you that the default branch of the remote is master. | 19:31 |
|
Samian
| okay | 19:32 |
| ← CryptoDavid left | 19:33 |
|
Samian
| so the last commit to remote is 5098016bf0afa573b33244cfc5ef5d35bd86017d | 19:33 |
|
rafasc
| Samian: if you know the consequences, git reset --hard <ID>; git push --force-with-lease; for example | 19:33 |
|
Samian
| dangit | 19:33 |
|
rafasc
| but if there's anything that diverged after that commit, you will potentially be in trouble. | 19:33 |
|
Samian
| rafasc I'm trying to make sure I get the id stuff right | 19:33 |
|
| I type git log remotes/origin/HEAD | 19:34 |
|
| but it shows local log it appears | 19:34 |
|
rafasc
| no, it shows the same thing as origin/master | 19:34 |
| ← figuinhas left | 19:34 |
|
rafasc
| which is your remote tracking branch. | 19:34 |
|
Samian
| okay yes nevermind | 19:34 |
|
rafasc
| !rtb | 19:35 |
|
gitinfo
| [!remote_tracking_branch] Remote-tracking branches (branches which start with e.g. 'origin/', listed by 'git branch -r') are read-only mirrors of the branches in another repository. They're updated by 'git fetch'. You can't edit them directly (trying to check them out results in a !detached HEAD), but you can create a local branch based on a remote-tracking branch using e.g. 'git checkout -b <branch> <remote>/<branch>' | 19:35 |
|
Samian
| so I want the last commit on remote to be ad94ddd6095d908427217415c3198f77c6e27786 | 19:35 |
|
rafasc
| git reset --hard ad94ddd6095d908427217415c3198f77c6e2778; git push --force-with-lease; | 19:35 |
|
Samian
| got it | 19:35 |
|
rafasc
| but your buddy, needs to reset as well. Not pull | 19:36 |
|
_ikke_
| or git push --force-with-lease origin ad94ddd6095d908427217415c3198f77c6e2778:master | 19:36 |
|
| then you don't need to reset your current branch | 19:36 |
|
rafasc
| otherwise he will merge the thing again. | 19:36 |
| ← lefne left | 19:36 |
|
Samian
| darn it says I need git ForcePush permission | 19:37 |
|
| aha I'm figuring it out | 19:37 |
|
| how to get permission | 19:37 |
|
| woohoo it worked | 19:39 |
| ← xcm left | 19:40 |
| → xcm joined | 19:40 |
| → oncall-pokemon joined | 19:41 |
|
erebel55
| @rafasc Thank you so much, "git restore --staged :/" did it and was surprisingly fast | 19:41 |
|
rafasc
| erebel55: next time, type git status and read the hints. It tells how to undo most operations that affect it. | 19:42 |
| → lungaro joined | 19:42 |
| ← Dirak left | 19:42 |
|
erebel55
| I did try git status. I guess I should have pipped the output to a file | 19:42 |
|
rafasc
| it wouldn't mention the :/ part, I think it says <file> | 19:42 |
|
| but yea | 19:42 |
|
erebel55
| I think the hint is at the top and there were thousands of files, so I didn't see it | 19:42 |
|
Samian
| thank you guys! | 19:43 |
|
rafasc
| erebel55: ah, makes sense. | 19:43 |
| → caveman joined | 19:43 |
|
erebel55
| But that is a good tip. I'll pipe to a file next time I run into it :) | 19:43 |
|
rafasc
| erebel55: or to a pager. e.g. git --paginate status | 19:45 |
| ← Helenah left | 19:45 |
|
erebel55
| ah I didn't know about pagers | 19:46 |
|
rafasc
| You probably use it when you use git log. | 19:46 |
|
| But I think status doesn't paginate by default. | 19:47 |
| → Dirak joined | 19:47 |
| → Helenah joined | 19:47 |
| ← foul_owl left | 19:47 |
| ← glosoli left | 19:48 |
| → gioyik joined | 19:48 |
|
Samian
| rafasc my buddy never pulled after I did the screw up push | 19:51 |
|
| but he still needs to do a reset too? | 19:52 |
| ← g4570n left | 19:52 |
|
Samian
| he needs to type a reset command? | 19:53 |
| ← Mattiaslndstrm left | 19:53 |
|
rafasc
| if he never pulled or fetched (some tools fetch automatically) the "wrong" commit, they should be fine. | 19:53 |
|
Samian
| woohoo | 19:53 |
|
| thanks rafasc | 19:54 |
| ← jetchisel left | 19:54 |
| → keynaris joined | 19:55 |
| → jetchisel joined | 19:56 |
| ← caveman left | 19:56 |
|
rafasc
| you're welcome. | 19:56 |
| → relipse joined | 19:59 |
| → g4570n joined | 19:59 |
|
relipse
| how do I add all untracked folders with /ja/ in their name | 19:59 |
| ← Trieste left | 19:59 |
|
relipse
| listed under Untracked files | 19:59 |
| → glosoli joined | 20:02 |
| ← orentanay left | 20:02 |
|
rafasc
| relipse: git add :/**/ja/** | 20:03 |
|
| note that git doesn't track directories, only files. | 20:04 |
| → Trieste joined | 20:04 |
|
rafasc
| So only things that have files at the end will be added. If you have a structure of empty dirs you'll need to add a placeholder, e.g. a .gitignore with an '*' pattern. | 20:05 |
| ← keynaris left | 20:06 |
|
relipse
| ok thanks what is : for | 20:06 |
| ← Dirak left | 20:07 |
|
rafasc
| the :/ is git pathspec to denote the root of the repository. | 20:08 |
|
osse
| TIL pathspec works for untracked files | 20:09 |
|
rafasc
| it also helps ensure that what you pass isn't substituted by the shell. | 20:09 |
|
| osse: I think this might be new, because I had the impression it didn't. | 20:10 |
|
| but tried and it worked. | 20:10 |
| ← kleisli left | 20:11 |
|
osse
| it's been like that at least since 2008 :O | 20:12 |
|
| or maybe "pathspec" meant something else then :p | 20:12 |
| → skelletor joined | 20:15 |
| → caveman joined | 20:17 |
| → funhouse joined | 20:17 |
|
funhouse
| Hi there, just created a private repository, how do I add my folder and files to it in linux? | 20:17 |
| ← jess left | 20:17 |
| → jess joined | 20:17 |
|
pandem1
| you created a local git repo or a repo on lab, hub or some other online service? | 20:19 |
| ← glosoli left | 20:20 |
| → _Warl0ck joined | 20:21 |
| → dumb_moth joined | 20:21 |
| ← kreyren left | 20:22 |
| → kreyren joined | 20:23 |
| → owlscientist joined | 20:24 |
| ← fission6 left | 20:24 |
| → fphilipe joined | 20:25 |
| → Lucas_Gray joined | 20:26 |
| ← troulouliou_dev left | 20:26 |
| → jamiejackson joined | 20:27 |
| ← skelletor left | 20:27 |
| → goh joined | 20:28 |
|
goh
| What's the best tutorial for git conflict resolution? | 20:28 |
|
_ikke_
| !eek | 20:28 |
|
gitinfo
| [!eekaconflict] Merge conflicts are a natural part of collaboration. When facing one, *don't panic*. Read "How to resolve conflicts" in man git-merge and http://git-scm.com/book/ch3-2.html#Basic-Merge-Conflicts then carefully go through the conflicts. Picking one side verbatim is not always the right choice! A nice video explaining merge conflicts: https://www.youtube.com/watch?v=zz7NuSCH6II | 20:28 |
|
pandem1
| damn, the bot has everything | 20:29 |
|
_ikke_
| We make sure it does :) | 20:29 |
| ← Syzygy left | 20:30 |
|
goh
| If the key advice is *don't panic*, maybe the keyword shouldn't be "eek" :) | 20:30 |
|
_ikke_
| goh: the response to "eek" is don't panic :) | 20:30 |
|
goh
| Is vimdiff a decent merge tool? I'm working remotely via SSH, so need something terminaly | 20:31 |
| ← comptroller left | 20:31 |
|
_ikke_
| goh: The default colorscheme is awfull to me, so you might want to tweak that | 20:31 |
| ← zher left | 20:31 |
|
_ikke_
| goh: it's a decent tool, you just need to know how to work with it | 20:32 |
|
goh
| I'm just really confused by what REMOTE, LOCAL, BASE mean | 20:32 |
|
| I want to be able to quickly jump to the points of conflict, see why that conflict occured, and resolve it. | 20:32 |
|
_ikke_
| Those are the 3 components of a 3-way merge | 20:33 |
|
goh
| heh, 3-way | 20:33 |
|
| I guess the page in the link will explain? | 20:33 |
|
_ikke_
| https://www.rosipov.com/blog/use-vimdiff-as-git-mergetool/ | 20:33 |
| → zher joined | 20:33 |
| → Codaraxis joined | 20:34 |
|
_ikke_
| ]c and [c to jump between conflicts | 20:34 |
|
goh
| nice | 20:34 |
|
| In this case I'm not sure why there's even a conflict | 20:34 |
|
_ikke_
| :diffget <pattern> to get the change from one of those files (:diffget RE to get REMOTE, etc) | 20:34 |
|
goh
| LOCAL and BASE appear to be identical | 20:35 |
| → kleisli joined | 20:35 |
|
_ikke_
| add / add to the same location is a conflict | 20:35 |
|
| touching the context of of another change is a conflict | 20:35 |
|
goh
| I should probably understand what a 3-way merge actually means. | 20:36 |
| → veegee joined | 20:36 |
|
_ikke_
| progit does not seem to explain that | 20:38 |
|
| https://www.drdobbs.com/tools/three-way-merging-a-look-under-the-hood/240164902 | 20:38 |
| → skelletor joined | 20:38 |
| ← duderonomy left | 20:39 |
| → comptroller joined | 20:39 |
| → duderonomy joined | 20:40 |
| ← learning1 left | 20:41 |
| ← skelletor left | 20:42 |
|
goh
| thanks! | 20:44 |
| ← sidetrack left | 20:45 |
| ← munsterberg left | 20:48 |
| ← duderonomy left | 20:48 |
| ← cdown left | 20:48 |
| → learning1 joined | 20:49 |
| → AndyAndyBoBandy joined | 20:49 |
| → cdown joined | 20:50 |
| → royal_screwup21 joined | 20:50 |
|
AndyAndyBoBandy
| Can anyone recommend a good TUI for github issues and/or PRs? I currently use stephencelis/ghi which is ok, but last updated 2016. I also see jsmits/github-cli last updated 2012. I know hub, but that seems to just open the pages in a browser, whereas I'm looking for a TUI or CLI. | 20:50 |
| ← azwieg103 left | 20:51 |
| → azwieg103 joined | 20:51 |
|
_ikke_
| Not aware of anything | 20:53 |
|
rafasc
| AndyAndyBoBandy: git-bug has a github bridge. | 20:55 |
|
goh
| So a 3-way merge is just merging two conflicting changes based on the file state before these changes, right? | 20:56 |
|
| (That's the "third" part) | 20:56 |
|
_ikke_
| goh: it's a way to find what is actually a conflict and what is change just made on one side | 20:57 |
|
rafasc
| goh: yes, all that happened in between is ignored. | 20:57 |
|
_ikke_
| If you just compare two files, you have no idea what part to pick from what side | 20:57 |
|
| By comparing each side to a common ancestor, you know what part of a file changed, and what part remained the same | 20:58 |
|
goh
| So if I look at my conflict, and LOCAL and BASE are the same, that means REMOTE just introduced a change and that's it? | 20:58 |
|
_ikke_
| yes, but is LCOAL and BASE exactly the same? | 20:58 |
|
| s/is/are | 20:58 |
|
goh
| BASE is the common ancestor, what are LOCAL and REMOTE? | 20:59 |
|
rafasc
| remote is what you are merging in, local is what you have. | 20:59 |
|
_ikke_
| LOCAL represents HEAD | 21:00 |
|
goh
| I'm cherry-picking, not merging in this case | 21:00 |
|
rafasc
| git checkout master; git merge feature; local=master remote=feature base=common ancestor between master and feature | 21:00 |
|
goh
| about about rebase/cp? | 21:00 |
|
_ikke_
| LOCAL is HEAD | 21:00 |
|
goh
| REMOTE is the commit I'm rebasing/cping? | 21:01 |
|
AndyAndyBoBandy
| rafasc: thanks, I'll look into git-bug | 21:01 |
|
_ikke_
| goh: yes | 21:01 |
|
rafasc
| remote is the thing being picked, base is the parent of the thing being picked. | 21:01 |
|
goh
| the darkness of ignorance is banished by the light of knowledge! | 21:01 |
|
rafasc
| (cherry-pick actually a kind of merge in the background) | 21:01 |
|
| (so is each 'pick' from rebase) | 21:01 |
|
goh
| rafasc: interesting, I thought it was a one-commit rebase | 21:01 |
|
| _ikke_: LOCAL and BASE are not exactly the same | 21:02 |
|
| That part of the file is exactly the same. | 21:02 |
|
| The part REMOTE changed | 21:02 |
|
rafasc
| goh: It's more like rebase is a multiple cherry-picks sequentially, but yeah. | 21:03 |
|
goh
| But LOCAL has changes over BASE | 21:03 |
| → fission6 joined | 21:03 |
|
goh
| I _suspect_ some trailing whitespace was removed from the area of REMOTE's change | 21:04 |
|
| which caused the conflict. | 21:04 |
|
_ikke_
| yes, that would explain it | 21:05 |
|
goh
| The lesson is clear: never remove trailing whitespace ;) | 21:05 |
|
rafasc
| or never put them in. | 21:05 |
|
goh
| It's a joke | 21:06 |
|
| I finally understand conflict resolutions, sorta | 21:06 |
| ← Shentino_ left | 21:06 |
|
goh
| so I'm no longer afraid of conflicts | 21:06 |
|
| I confirmed it's the whitespace btw | 21:06 |
|
_ikke_
| :-) | 21:06 |
|
rafasc
| just wait until you hit one of those created by the recursive strategy. | 21:06 |
|
| :D | 21:06 |
|
goh
| LOCAL removed some trailing whitespace from BASE, then REMOTE made a completely different change | 21:06 |
|
_ikke_
| rafasc: :D | 21:07 |
|
goh
| rafasc: I'll prepare my resume so I can quit my job immediately in that case. | 21:07 |
|
_ikke_
| rebase conflicts can be daunting as well | 21:07 |
|
rafasc
| kdiff3 helps me a lot. | 21:08 |
|
goh
| how is BASE identified? | 21:08 |
|
_ikke_
| man git merge-base | 21:08 |
|
gitinfo
| the git-merge-base manpage is available at https://gitirc.eu/git-merge-base.html | 21:08 |
|
rafasc
| for merges ^ | 21:08 |
|
goh
| OK, so it's just the merge-base of LOCAL and REMOTE, got it | 21:08 |
|
rafasc
| for cherry-picks it is the parent of you are picking | 21:08 |
|
goh
| i.e. most recent ancestor | 21:08 |
|
| right, because in CP, REMOTE isn't part of the graph | 21:09 |
|
rafasc
| if you pick a merge, you'll need to specify the parent you want with -m N | 21:09 |
|
goh
| "pick a merge"? | 21:09 |
| → Dirak joined | 21:09 |
|
rafasc
| you can cherry-pick a merge commit. | 21:09 |
| ← bvdw left | 21:09 |
|
goh
| Insanity. | 21:09 |
|
| Did I tell you today I figured out the DAG is a Merkle Tree?! | 21:10 |
| → bvdw joined | 21:10 |
|
goh
| You seem less than impressed :| | 21:12 |
|
rafasc
| :) | 21:12 |
|
goh
| I wonder what the next quantum leap in VC will be. | 21:12 |
|
| Like the sort of leap Git made over SVN. What will be the next such leap over Git? | 21:12 |
| ← Codaraxis left | 21:12 |
|
rafasc
| brain upgrades | 21:13 |
|
goh
| anyway, since the DAG is a Merkle Tree, BRB adding "blockchain" to resume | 21:15 |
|
rafasc
| Not really, because usually when we say blockchain we also have the part about consensus. | 21:15 |
| → jcbitter joined | 21:15 |
|
rafasc
| git doesn't have that. | 21:15 |
|
| Although, there was an implementation for jgit that I can't seem to find. | 21:16 |
| ← irrgit left | 21:16 |
|
rafasc
| https://www.eclipse.org/lists/jgit-dev/msg03073.html | 21:16 |
|
_ikke_
| "a digital database containing information (such as records of financial transactions) that can be simultaneously used and shared within a large decentralized, publicly accessible network" | 21:16 |
|
| Sounds like git | 21:16 |
|
| afaik, concensus is not a requirement for blockchains | 21:17 |
| ← erebel55 left | 21:17 |
| ← fphilipe left | 21:17 |
| → irrgit joined | 21:18 |
|
rafasc
| 90% of the time people say blockchain they mean the consensus kind. But I guess you're technically correct. | 21:19 |
|
| https://dictionary.cambridge.org/dictionary/english/blockchain | 21:21 |
|
_ikke_
| but a blockchain is not limited to cryptocurrencies | 21:21 |
|
rafasc
| directly mentions the crypto currency kind. | 21:21 |
|
_ikke_
| ^ | 21:21 |
|
| wikipedia: "A blockchain, originally block chain, is a growing list of records, called blocks, that are linked using cryptography Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data (generally represented as a Merkle tree). " | 21:23 |
|
| "A blockchain, originally block chain, is a growing list of records, called blocks, that are linked using cryptography Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data (generally represented as a Merkle tree). " | 21:24 |
|
| wrong one | 21:24 |
|
| "The first work on a cryptographically secured chain of blocks was described in 1991 by Stuart Haber and W. Scott Stornetta They wanted to implement a system where document timestamps could not be tampered with." | 21:24 |
|
| so the origin is not even cryptocurrency | 21:24 |
|
rafasc
| I agree, just wanted to show that even a seemly reputable source refer defines 'blockchain' as the consensus one. | 21:24 |
|
| It will be probably one of those things that the meaning either gets blurred or changes. | 21:24 |
|
| just my opinion. | 21:25 |
|
_ikke_
| same with the term "crypto" | 21:25 |
|
rafasc
| hung up the phone. | 21:25 |
|
| It's not the first time this happens. | 21:26 |
| → m0viefreak joined | 21:26 |
|
_ikke_
| ofcourse not | 21:26 |
|
goh
| blockchain inherently has nothing specific to do with crypto | 21:26 |
|
| there's applications in contracts for example | 21:26 |
|
rafasc
| anyway, git ketch would be the consensus blockchain version of git blockchain. | 21:27 |
|
goh
| git kvetch | 21:27 |
|
| a revolutionary consensus algorithm | 21:27 |
| ← Dirak left | 21:27 |
| → bolovanos_ joined | 21:28 |
|
goh
| who thought up all this stuff? like the DAG and how it should work | 21:29 |
| → Dirak joined | 21:29 |
| ← bolovanos left | 21:32 |
| → duderonomy joined | 21:33 |
| ← bolovanos_ left | 21:36 |
| ← royal_screwup21 left | 21:37 |
| ← eirc left | 21:37 |
| → eirc joined | 21:37 |
| ← duderonomy left | 21:38 |
| ← AndyAndyBoBandy left | 21:40 |
| → Inside joined | 21:42 |
|
Inside
| heyo! Anyone having problems with github right now? | 21:42 |
|
_ikke_
| https://www.githubstatus.com/ | 21:43 |
|
| for me it's working | 21:43 |
| → fstd_ joined | 21:43 |
|
_ikke_
| Though, it does feel sluggish | 21:43 |
| ← learning1 left | 21:44 |
|
Inside
| I'm trying to deploy using capistrano and the script fails on a 'git remote update --prune' command. I can run the command manually and about 50% of the time it fails with a "Could not read from remote repository" error | 21:44 |
| ← Sasazuka left | 21:44 |
|
goh
| Is Linus the one who designed the DAG and all the basic Git design? | 21:44 |
|
canton7
| goh, most likely, unless he got the idea from somewhere else | 21:45 |
| → Sasazuka joined | 21:45 |
|
Inside
| Are you asking if he invented DAGs? | 21:45 |
|
canton7
| I assumed, came up with the idea of using a DAG to represent history in a VCS | 21:45 |
| ← owlscientist left | 21:45 |
| ← xco left | 21:46 |
| → yonder joined | 21:46 |
|
Inside
| Don't all VCS use a DAG of some sort to represent history? | 21:47 |
|
goh
| Inside: Yeah, I'm asking if Linus invented graph theorey and modern computer science ;) | 21:47 |
|
| Inside: nope. | 21:47 |
| ← fstd left | 21:47 |
| fstd_ → fstd | 21:47 |
|
goh
| Git was the first one afaik. | 21:47 |
| → royal_screwup21 joined | 21:47 |
|
Inside
| This is beyond me :) | 21:47 |
|
goh
| SVN and CVS use a very simple linear changeset model. | 21:47 |
|
| canton7: using a DAG as a Merkle Tree to represent the commit graph is pretty genius. | 21:48 |
| → owlscientist joined | 21:49 |
| ← owlscientist left | 21:49 |
|
Inside
| Hmmm. Anyone want to clone a repo from github and hammer 'git remote update --prune' a couple of times to comiserate with me? :) | 21:53 |
| → owlscientist joined | 21:57 |
| ← zher left | 21:59 |
| → cdown_ joined | 22:00 |
| ← oncall-pokemon left | 22:00 |
| ← cdown left | 22:02 |
| cdown_ → cdown | 22:02 |
| → shabius_ joined | 22:04 |
| ← gioyik left | 22:04 |
| ← voker57 left | 22:07 |
|
goh
| Can there ever be a case of conflict / resolution in a two-way merge? | 22:07 |
| ← shabius left | 22:07 |
|
_ikke_
| goh: in a two way merge, every change is a conflict | 22:07 |
|
goh
| ! | 22:08 |
| → voker57 joined | 22:08 |
|
goh
| so every merge in git is a 3-way merge? | 22:08 |
| → nutron joined | 22:09 |
|
_ikke_
| yes | 22:09 |
|
| unless git cannot find a common ancestor (ie, when merging unrelated histories) | 22:09 |
|
goh
| what's the recursive thingie rafasc mentioned before? | 22:10 |
|
_ikke_
| man git merge, look for merge strategies | 22:10 |
|
gitinfo
| the git-merge manpage is available at https://gitirc.eu/git-merge.html | 22:10 |
| → gioyik joined | 22:10 |
|
goh
| I have so much appreciation for Linus from learning Git | 22:10 |
| → is_null joined | 22:11 |
| → Shentino joined | 22:11 |
|
goh
| It's a bit ironic that he wrote an operating system in his 20s, and then much later wrote a VCS | 22:11 |
|
| One wonders what a great OS he'd write if he was to do it now. | 22:11 |
|
_ikke_
| That was mostly out of necessity | 22:11 |
|
| They used to use bitkeeper, but they had a conflict (:p) | 22:12 |
| → FrozenKow joined | 22:12 |
|
goh
| Sure, but Git is pretty brilliant, with the DAG and all | 22:12 |
|
| Imagine he used the same brilliance to write a new kernel from scratch | 22:13 |
|
rafasc
| more impressive that git was made in a week. If i recall correctly. | 22:13 |
|
| at least the core part. | 22:14 |
|
_ikke_
| It was a very bare-minimal version of git | 22:14 |
|
rafasc
| goh: linus also made subsurface, a scuba divelog manager. But no one talks about that. | 22:14 |
|
goh
| Linus designed the DAG in a week?! | 22:15 |
|
| I should quit my job as an engineer, I'm not worthy | 22:15 |
|
Eugene
| implemented* | 22:15 |
|
goh
| It wasn't his design/idea? | 22:15 |
|
Eugene
| It's been an idea on/off for a long time; the original git implementation was really just "hash some objects together". It wasn't a full-fledged system. | 22:16 |
| ← tjbp left | 22:16 |
|
_ikke_
| It's barely comparibly (as a complete system) with how it works now | 22:16 |
|
goh
| Who came up with this idea? | 22:16 |
| → thevishy joined | 22:17 |
|
goh
| "The idea" == using a DAG to implement a Merkle Tree of commits. | 22:17 |
|
_ikke_
| https://www.youtube.com/watch?v=4XpnKHJAok8 | 22:17 |
| ← m1dnight_ left | 22:17 |
|
_ikke_
| very early presentation from Linus on git | 22:17 |
|
rafasc
| goh: a merkle tree is a type of dag. | 22:18 |
| → pie_ joined | 22:18 |
| → Codaraxis joined | 22:18 |
| → m1dnight_ joined | 22:18 |
|
goh
| rafasc: fair, I'm interested in who thought of using it to implement a VCS | 22:18 |
| → eb0t joined | 22:20 |
| ← feriman left | 22:20 |
| → eblip joined | 22:21 |
| ← def_jam left | 22:22 |
| ← eb0t_ left | 22:22 |
| ← Shentino left | 22:23 |
| ← pie_ left | 22:23 |
| ← thevishy left | 22:24 |
|
FLHerne
| goh: Bitkeeper, Bazaar-ng and mercurial all predated git | 22:24 |
|
goh
| Bitkeeper already used Merkle Trees? | 22:24 |
|
| goh moves on to worship the developer of Bitkeeper | 22:25 |
| ← royal_screwup21 left | 22:25 |
| → Shentino joined | 22:26 |
| → zher joined | 22:26 |
|
_ikke_
| FLHerne: I recall Mercurial and git being about the same age | 22:27 |
|
FLHerne
| goh: hg does; not 100% sure about Bitkeeper | 22:27 |
|
| (but that definitely pioneered a lot of the conceptual model that git uses) | 22:28 |
|
_ikke_
| Linus credits bitkeeper a big deal for the way he designed git | 22:28 |
|
goh
| per Wikipedia, Git and Hg initial releases are the same month | 22:28 |
|
| April 2005 | 22:28 |
| → yashi joined | 22:29 |
|
FLHerne
| _ikke_: I remember the "what VCS should we use for the kernel...hey look, I wrote git" thread features Linus testing (and complaining about) hg | 22:29 |
|
| Too damn slow at the time, IIRC | 22:29 |
| → thevishy joined | 22:29 |
|
FLHerne
| (possibly still) | 22:29 |
|
_ikke_
| FLHerne: They have been using BitKeeper for some time | 22:29 |
|
FLHerne
| _ikke_: I know | 22:29 |
|
goh
| FLHerne: makes sense, as I believe Hg was originally written in pure Python | 22:30 |
|
| much of the internals have since been replaced with C | 22:30 |
|
| but Git is probably still faster. | 22:30 |
|
_ikke_
| isn't it still mostly writtin in python? | 22:30 |
|
goh
| most or even all of the hot loops are in C nowadays | 22:31 |
|
| so classic Python-with-C program. | 22:31 |
|
| IIRC there's other stuff that makes it less efficient | 22:32 |
|
| like the way the object database is stored. | 22:32 |
| ← rafasc left | 22:32 |
| → _salt joined | 22:33 |
| → Sasazuka__ joined | 22:33 |
| ← __salt left | 22:33 |
|
mud
| Ya, I'd imagine the "other stuff" is the big difference, since even git is a mix, it's not only C. And just the fact that linus heavily focused on speed as a UI goal from I'd assume the very beginning. | 22:33 |
|
_ikke_
| yes | 22:34 |
|
mud
| Tech can matter a lot less than just what you focus on optimizing. | 22:34 |
|
_ikke_
| "If it's not fast, it's not worth using" | 22:34 |
|
goh
| I wouldn't be so sure. There's still a big difference between a Python program that gradually replaced most of its hot loops with C, and a mostly pure C program | 22:34 |
| ← m1dnight_ left | 22:34 |
|
goh
| AFAIL Perl is only used as glue in one-time operations? | 22:35 |
| → m1dnight_ joined | 22:35 |
|
_ikke_
| Most scripts have been rewritten in C | 22:35 |
|
| there are just a hand-full left | 22:35 |
|
goh
| It's sort of like buying a regular car and upgrading it to a racing car, vs getting a racing car with some very minor compromises :) | 22:36 |
| ← Sasazuka left | 22:36 |
|
FLHerne
| goh: Quite a lot of git is/was made of shell scripts :P | 22:37 |
| ← prepend left | 22:37 |
| ← Arguggi left | 22:38 |
| → Arguggi joined | 22:39 |
|
_ikke_
| mostly was | 22:39 |
| ← kleisli left | 22:42 |
| ← mud left | 22:42 |
|
goh
| FLHerne: a lot of shell with most of the key performance parts written in C would still outperform pure Python :) | 22:46 |
|
| especially when the C parts are written by Linus | 22:46 |
|
| BTW, is there a goal to eliminate Perl as a dependency of Git? | 22:46 |
| ← thevishy left | 22:48 |
| → emmanuelux joined | 22:49 |
| ← prc94 left | 22:50 |
| ← azwieg103 left | 22:51 |
| → azwieg103 joined | 22:51 |
| ← jetchisel left | 22:51 |
| → thevishy joined | 22:53 |
| ← thevishy left | 22:57 |
| → ARoxdale joined | 22:57 |
| ← fission6 left | 22:58 |
|
ARoxdale
| I'm working on a cross platform project and I'm asking about autocrlf settings. If I selected "autocrlf=input" apparently I will commit as LF. But are only by diff lines commited as LF, or is the whole file changed to LF? | 22:58 |
| → Mattiaslndstrm joined | 23:00 |
| → thevishy joined | 23:02 |
| ← Mattiaslndstrm left | 23:02 |
|
_ikke_
| goh: there is no direct goal | 23:04 |
| ← alexandre9099 left | 23:05 |
| ← thevishy left | 23:06 |
| → alexandre9099 joined | 23:08 |
| ← Lucas_Gray left | 23:08 |
| ← xcm left | 23:09 |
| → Lucas_Gray joined | 23:09 |
| → xcm joined | 23:10 |
| ← Phylock left | 23:11 |
| → thevishy joined | 23:12 |
| ← thevishy left | 23:14 |
| → fphilipe joined | 23:14 |
| ← is_null left | 23:15 |
| ← Dirak left | 23:15 |
| → SpeakerToMeat joined | 23:17 |
| ← fphilipe left | 23:19 |
| → thevishy joined | 23:19 |
| ← dartmouthed left | 23:20 |
| → Dirak joined | 23:20 |
| ← gioyik left | 23:20 |
| ← xelxebar left | 23:23 |
| → xelxebar_ joined | 23:23 |
| Disco → Disconsented | 23:24 |
| → Phylock joined | 23:24 |
| → gioyik joined | 23:25 |
| ← thevishy left | 23:26 |
|
Inside
| Welp, I'm still having weird github issues | 23:26 |
|
| Or SSH issues - I can't tell. In the local VM that I am on, I can do 'git remote update' multiple times with no errors. On the staging environment, that command fails about 50% of the time. | 23:28 |
| ← Jonno_FTW left | 23:31 |
| → thevishy joined | 23:31 |
| ← zher left | 23:31 |
| ← plexigras left | 23:32 |
| → Sasazuka joined | 23:32 |
| ← TheJollyRoger left | 23:33 |
| ← greggerz left | 23:34 |
| ← Sasazuka__ left | 23:34 |
| ← leeN left | 23:34 |
| → TheJollyRoger joined | 23:36 |
| ← H2Q left | 23:36 |
| ← thevishy left | 23:37 |
| ← greatgatsby left | 23:41 |
| → ferdna joined | 23:44 |
| ← oatmealraisin left | 23:44 |
| → kleisli joined | 23:44 |
| → dedowsdi joined | 23:45 |
| ← Aelius left | 23:47 |
| ← gioyik left | 23:50 |
| → Aelius joined | 23:51 |
| ← thiago left | 23:52 |
| ← clime left | 23:53 |
| ← ferdna left | 23:54 |
| ← Shentino left | 23:55 |