jcarpenter2 has quit [Remote host closed the connection]
jcarpenter2 has joined #neo900
err0r3o3_ has joined #neo900
Pompingsquatsley has joined #neo900
jcarpenter2 has quit [Ping timeout: 240 seconds]
MonkeyofDoom has quit [Ping timeout: 246 seconds]
metacollin has quit [Read error: Connection reset by peer]
err0r3o3 has quit [Ping timeout: 246 seconds]
metacollin has joined #neo900
jonsger has joined #neo900
chomwitt has quit [Ping timeout: 264 seconds]
Kabouik- has joined #neo900
Kabouik_ has quit [Ping timeout: 240 seconds]
xmn has quit [Quit: Leaving.]
jonsger has quit [Ping timeout: 240 seconds]
knttl has quit [Ping timeout: 248 seconds]
knttl has joined #neo900
ArturShaik has joined #neo900
ravelo has joined #neo900
Pompingsquatsley is now known as jcarpenter2
tierce_ has quit [Remote host closed the connection]
Pompingsquatsley has joined #neo900
jcarpenter2 has quit [Ping timeout: 248 seconds]
freemangordon has quit [Quit: Leaving.]
Pompingsquatsley is now known as jcarpenter2
rhn has joined #neo900
_whitelogger has joined #neo900
jabawok_ has joined #neo900
jabawok has quit [Ping timeout: 252 seconds]
Pali has joined #neo900
jkepler1 has joined #neo900
jkepler has quit [Ping timeout: 240 seconds]
jkepler1 is now known as jkepler
jonsger has joined #neo900
nlhowell has joined #neo900
cc___ has joined #neo900
ArturSha1 has joined #neo900
ArturShaik has quit [Ping timeout: 240 seconds]
_whitelogger has joined #neo900
jkepler has quit [Quit: jkepler]
l_bratch has quit [Quit: Leaving]
illwieckz has quit [Ping timeout: 248 seconds]
l_bratch has joined #neo900
illwieckz has joined #neo900
xray256 has quit [Ping timeout: 240 seconds]
jkepler has joined #neo900
xray256 has joined #neo900
Kabouik_ has joined #neo900
Kabouik- has quit [Ping timeout: 240 seconds]
jonsger1 has joined #neo900
jonsger has quit [Ping timeout: 264 seconds]
jonsger1 is now known as jonsger
jonsger1 has joined #neo900
jonsger has quit [Ping timeout: 248 seconds]
jonsger has joined #neo900
jonsger1 has quit [Ping timeout: 240 seconds]
arnaudj has joined #neo900
<Joerg-Neo900>
ok, hit experts, I have a moot version of project here that I nevertheless want to archive. How to achieve this in git?
<Joerg-Neo900>
or would I rather simply copy the project dir, as I did some 40 years now
<nlhowell>
you can import it in, for example, a different branch
<atk>
Joerg-Neo900: hit experts?
<nlhowell>
atk: *git
<Joerg-Neo900>
typo
<atk>
Joerg-Neo900: I don't have any expertise in assassination
<Joerg-Neo900>
but a funny one :-)
<atk>
But as for git, nlhowell is right, a branch will do
<nlhowell>
atk: do you know an easy way to do this, so that the histories share nothing, without having an "empty" initial commit?
<Joerg-Neo900>
thought as much, but no clue how to achieve that
<atk>
nlhowell: I did this once with my webpage repo
<atk>
let me check
<nlhowell>
Joerg-Neo900: you want the two versions to not share any history
<nlhowell>
but in git, there's always a root commit
<nlhowell>
the cleanest is if this root commit is blank
<Joerg-Neo900>
I think when even experienced git users need to think how to do it, I will rather go with cp -a
<atk>
nlhowell: yes, you can do it without having to share commits anywhere
<atk>
nlhowell: let me just work out how i did it :P
<nlhowell>
:) good!
<Joerg-Neo900>
on btrfs I even will benefit similar deduplication like on git, eventually
<atk>
nlhowell: do you want to merge two repositories in this fashion or do you just want to re-start with a fresh branch with no initial commit?
<nlhowell>
I think fresh branch is what Joerg-Neo900 wants
<nlhowell>
I don't have this problem right now
<Joerg-Neo900>
plus very familiar easy access via unixtools
<nlhowell>
but am curious to hear
<Joerg-Neo900>
so never mind, guys
<nlhowell>
Joerg-Neo900: git has other advantages besides dedup-ing
<Joerg-Neo900>
yeah, it can keep data so safe not even experts have an idea how to touch or delete it ;-P
<nlhowell>
lol I definitely appreciate that from time to time
* nlhowell
recalls a time he deleted ld-linux.so
<atk>
ah
<atk>
I think I remember how I did this for my website (I used a remote and turned it into its own local branch) but git has a feature to do this without a remote quickly
<atk>
git branch --orphan
<atk>
er
<atk>
I mean checkout -b orphan
<Joerg-Neo900>
I can't recall when I last time accidentally rm'ed a file. I however nuked files with git a two dozen times this year
<atk>
(the lack of any interconnection line means they're totally separate)
<nlhowell>
ok
<atk>
and that was done with git checkout --orphan <branch name>
<nlhowell>
so git checkout --orphan <newbranch>
<nlhowell>
ok
<nlhowell>
--orphan is new to me
<nlhowell>
so there you go, Joerg-Neo900, if you change your mind:
<Joerg-Neo900>
tbh I often think many usages of git are an excellent example of the hammer-nail syndrome
<Joerg-Neo900>
you know, everything looks like a nail when you only got a hammer
<nlhowell>
sure, but otoh it sounds like git is the right tool for your job
<nlhowell>
the fact that I don't know all the kinds of screwdriver tips in my box doesn't mean the screwdriver is a bad system
<nlhowell>
only that I don't use pentalobular screws very much (no apple products ;)
<Joerg-Neo900>
not so sure anymore. I realized that I prolly can't change my mind and delete that version later on. And I *for sure* will forget about where that stuff was and how to access it
<nlhowell>
git branch would list it
<nlhowell>
git checkout would retreive it
<nlhowell>
but if you forget to scp it to your next machine...
<Joerg-Neo900>
and it tool me only 2 hours just yesterday to *learn* about existence of that command git branch
<Joerg-Neo900>
and git checkout would nuke my files in that dir
<atk>
:P
<Joerg-Neo900>
ok it warns me before
* atk
doesn't want to look at Joerg-Neo900's working directory
<nlhowell>
me either
<atk>
I think git really doesn't work when people who are not sure how to use it are forced to use it.
<nlhowell>
Joerg-Neo900: the gospel way to deal with this is not to let untracked files pile up
<Joerg-Neo900>
you already did. It's on public ee git
<nlhowell>
Joerg-Neo900: but to solve this problem without hindsight
<nlhowell>
you can clone to a new copy
<nlhowell>
import there
<nlhowell>
then push back to the first copy
<nlhowell>
no risk to your working directory
<nlhowell>
then you can trash the temporary new copy if you want
<Joerg-Neo900>
or... I use `cp -a` ;-P
<atk>
I would recommend going through the extensions list I provided and finding any files which are auto-generated too
<nlhowell>
or keep it around as a second workbench
<atk>
those shouldn't be tracked (unless you generate once and then edit afterwards)
<nlhowell>
Joerg-Neo900: sure, I'm advocating, but you should obviously do what you're comfortable with
<Joerg-Neo900>
atk: I just asked wpwrak again to help
<nlhowell>
I guess that the answer to "should git track this" is information-theoretic: did a human put information into this? if so, git should know
<Joerg-Neo900>
atk: please consider [2017-09-15 Fri 06:15:41] <metacollin> but, I do know git does not have any sort of include functionality. you can, however, use the ! like that. exclude *, then exclude !/, then exclude !/*.sch, exclude "!/*.bar" etc
<atk>
hmm
<atk>
I'll look into it
jonsger1 has joined #neo900
jonsger has quit [Ping timeout: 240 seconds]
jonsger1 is now known as jonsger
<Joerg-Neo900>
the idea is to have a "default: reject; <pattern> accept; <pattern> accept [...]" logic that doesn't allow new unconsidered files to slip through
<nlhowell>
Joerg-Neo900: personally I've had bad results with that strategy
<Joerg-Neo900>
how?
<nlhowell>
files don't get tracked when they should
<Joerg-Neo900>
no, this case is special
<nlhowell>
then I lose a disk, or switch machines
<nlhowell>
and they're gone
<Joerg-Neo900>
it's a filter between ee-full 8internal) and public ee git repo
<nlhowell>
ah
<nlhowell>
that's a little strange to me
<nlhowell>
so you have internal and external git repos
<nlhowell>
giving different perspectives
<nlhowell>
right?
<Joerg-Neo900>
we don't (yet) publish the layout files in public ee git
<Joerg-Neo900>
right
<nlhowell>
and is it easy to decide which files are layout files?
<nlhowell>
(i.e. which ones you don't want public [yet])
<Joerg-Neo900>
that's the task at hand
<nlhowell>
so still at the problem definition stage? you still need to decide how much to publish?
<Joerg-Neo900>
and I want an default:reject strategy for that, defining which files to publish rather than which files to filter
<nlhowell>
I think that's good
<nlhowell>
but I think gitignore is the wrong tool
<Joerg-Neo900>
this isn't gitignore
<nlhowell>
ah
<Joerg-Neo900>
it's a commit hook or sth
<nlhowell>
ok, so run when you commit to the public repo?
<nlhowell>
but isn't every public commit just a redacted commit to the internal repo?
<Joerg-Neo900>
or yes, probably replacing the whole repo should also work, after all that's what we did when we initially implemented that stuff
<atk>
so all .lib files should be gone? or just that one?
<Joerg-Neo900>
aiui the filter mechanism does a "diff" between commit A and latest/HEAD/whatever, and adds the patches to ee-public. setting commit-A to very first commit in ee-full should do for recreating the ee-public
<Joerg-Neo900>
atk: that's way beyond my paygrade, I don't really grok the lib concept in kicad. Needs metacollin and wpwrak to discuss this
<Joerg-Neo900>
let's start conservative and not include stuff we don't know for sure if it's ok
<Joerg-Neo900>
after all that's the idea with the whitelist
<Joerg-Neo900>
probably a good approach is to consider all those files dangerous that are new or grew in size remarkably in metacollin's branch
<Joerg-Neo900>
we'll need to decide if we may publish all the new footprints eventually
<Joerg-Neo900>
probably they are safe since with footprints only, no copycat can build a NeoN PCB
<Joerg-Neo900>
i'd leave the decision on that to metacollin, he made the new footprints as "a gift" to the project :-D Many many thanks for that metacollin
ArturShaik has joined #neo900
ArturSha1 has quit [Ping timeout: 240 seconds]
xmn has joined #neo900
<wpwrak>
Joerg-Neo900: if things got indiscriminately added that shouldn't go into the repo (git add ., git add * or such), then it's probably best to go back to the revision before that commit, get a list of files from then, remove all the unwanted ones (*), then add the new ones you actually want to have.
<Joerg-Neo900>
[2017-09-16 Sat 16:58:13] <Joerg-Neo900> wpwrak: metacollin: ^^^ could you please review and remove the files that have any layout info from this list?
<Joerg-Neo900>
well, also remove obviously nonsensical stuff like backup files etc
<Joerg-Neo900>
I think simply posting the patterns you want to see published here in one line is ok
<Joerg-Neo900>
atk can pick them up
<Joerg-Neo900>
I'll start with: ./hw/fp-lib-table ./hw/getsilego ./hw/Makefile ./hw/sortsheets .in .khotkeys ((( now noticing that for .in there's no file, so I can't pick the particular db.in file - someting is wrong with that list)))
<Joerg-Neo900>
atk: ^^^
<Joerg-Neo900>
also we probably want to include ./scripts/*
<atk>
Joerg-Neo900: there's a ./hw/docdb.in
<Joerg-Neo900>
could we simply look at the `ls -l` and make up globs to include from that?
<atk>
find .
<atk>
run that and if you want specific files, pick from there
<wpwrak>
Joerg-Neo900: as i said, you probably just want to go back to before the bad commit, get the list from that time, then go back to the present, and clean up. if that happened recently, there's probably not a lot of really new files.
<Joerg-Neo900>
yes, that's what I basically suggested before
<Joerg-Neo900>
[2017-09-16 Sat 16:54:15] <Joerg-Neo900> atk: maybe for a first iteration to solution you could prepare a list of files as exist in a 5 months old commit ?
<Joerg-Neo900>
[2017-09-16 Sat 16:54:45] <Joerg-Neo900> then we only need to kick out a few that never should have been there
<Joerg-Neo900>
[2017-09-16 Sat 16:56:35] <Joerg-Neo900> some dirs may get excluded/included no matter what's their file content
<Joerg-Neo900>
[2017-09-16 Sat 17:18:18] <Joerg-Neo900> probably a good approach is to consider all those files dangerous that are new or grew in size remarkably in metacollin's branch
<Joerg-Neo900>
I'd hesitate to allow *.in, since we only have one file we know of that matches that pattern and that's docdb.in, so rather include that one file. Then there is dir /scripts/ which can get included as is, no matter which files are in there
<atk>
Joerg-Neo900: it makes things a bit complicated
<atk>
please try to narrow as many things to just a prefix/suffix if you can
<Joerg-Neo900>
I hoped it simplifies, if that's not the case then never mind
<atk>
I don't want the script to run into problems with too many arguments and whatnot
<atk>
there's no way of making git apply use it directly
<atk>
so I would need to write a script to parse the file and turn it into a command line
<Joerg-Neo900>
yes, that was the idea. However a whitelist is as long as it is
<atk>
you can also do foo/*.bla if you only want *.bla from a specific path
<Joerg-Neo900>
(to narrow down as much as possible/reasonable)
err0r3o3 has joined #neo900
<Joerg-Neo900>
I hope U narrowed it down as much as possible now, and in an unambiguous manner
<Joerg-Neo900>
I*
err0r3o3_ has quit [Ping timeout: 240 seconds]
pagurus` has quit [Ping timeout: 240 seconds]
knttl has quit [Ping timeout: 240 seconds]
ArturShaik has quit [Ping timeout: 246 seconds]
knttl has joined #neo900
<Joerg-Neo900>
atk: 22 tokens
<Joerg-Neo900>
I'd still love if - instead of "--include foo --include bar" - we could do something like " `while read pat; do echo -n " --include $pat"; done <ee-repo/.publish` "
<Joerg-Neo900>
as in >><atk> so I would need to write a script to parse the file and turn it into a command line<<, in /srv/git/bin/cg-neo900 or /srv/git/bin/cg
arnaudj has quit [Ping timeout: 264 seconds]
<Joerg-Neo900>
AIUI you want to edit /srv/git/bin/cg-neo900 to replace the >> ${0%-neo900} --exclude="**/*.kicad_pcb" \ --exclude="**/*.kicad_mod" --exclude="**/*.fpd" \ --exclude="**/*.mod" "$@"<< part by "--include ...", right? You maybe can use that "while read..." snippet in there instead of hardcoding the globs in place
<Joerg-Neo900>
bencoh: now I finally get your laughing about new git clone. I finally realized that my master branch *stays* in defunct status since I can't pull because of the conflicting files and I can't push any new stuff either obviously when I'm not in sync
<Joerg-Neo900>
so the last commit is rather unfortunate
<Joerg-Neo900>
atk: ^^^
<atk>
sorry, I was away
<Joerg-Neo900>
bp
<Joerg-Neo900>
was not until 2 min ago U noticed there's actually a _problem_ now
<Joerg-Neo900>
*I*
<Joerg-Neo900>
and np*
<Joerg-Neo900>
does a git merge bypass gitignore?
<Joerg-Neo900>
the gitignore in the branch that receives the merger
<Joerg-Neo900>
since aiui this seems what has ahppened
<Joerg-Neo900>
hmm or not, probably a git add * simply added a lot of files that are temporary and shouldn't be in repo
<Joerg-Neo900>
needs fix in repo, those files shouldn't be there to start with
<pigeons>
also git push --force
<pigeons>
but rebase is much nicer
<Joerg-Neo900>
I won't touch that stuff, I'm the one person with the least clue about git
<pigeons>
if its stuff not committed just git stash
<Joerg-Neo900>
I can tell that last commit that actually was a branch merge introduced those files, and it better had not
chomwitt has joined #neo900
<Joerg-Neo900>
and those file were not puhed by me
<Joerg-Neo900>
again, those files don't belong into the repo
<Joerg-Neo900>
they need to get removed from there
<Joerg-Neo900>
the complete last commit better gets rolled back
pagurus has joined #neo900
<atk>
Joerg-Neo900: gitignore is only for things git flags as untracked
<Joerg-Neo900>
[2017-09-16 Sat 18:00:21] <wpwrak> Joerg-Neo900: if things got indiscriminately added that shouldn't go into the repo (git add ., git add * or such), then it's probably best to go back to the revision before that commit, get a list of files from then, remove all the unwanted ones (*), then add the new ones you actually want to have.
<atk>
I can't get that script working right now but I'll have a look at it a bit later today
<Joerg-Neo900>
atk: this is about ee-full
<Joerg-Neo900>
unrelated to the ee public and filtering
jcarpenter2 has joined #neo900
<Joerg-Neo900>
caused by merge-branch mc_* commit a few days ago
<Joerg-Neo900>
I also need to roll back a local commit I did, but that's a minor problem i'll worry about later on after we fixed the repo based problem
<Joerg-Neo900>
I just noticed I can't push since I failed to pull before I did the edits and the commit locally. And I can't pull because of that repo based file-conflict problem - I also don't want to pull those files
<Joerg-Neo900>
the mc_ branch merge needs to get cleaned from those files
<Joerg-Neo900>
I need to add that mc_ branch: http://paste.ubuntu.com/25550887 got merged to master, I probably should have provided a git log of that new master/HEAD instead of the mc_ branch
<Joerg-Neo900>
and it's that merge on master that needs to get cleaned from those files
<Joerg-Neo900>
I tried to find out about showing remote log instead of local. git help log isn't rally helping, it's just insane amount of options but none for the purpose to show log of a remote branch not yet pulled
chomwitt has joined #neo900
* Joerg-Neo900
starts slowly drifting into insanity and muses which monsters to rename to "Git". Maybe Grendel. Or Godzilla?
<Joerg-Neo900>
alas all this can get done more easily by somebody who alread *has* the file, while for me git pull fails
<Joerg-Neo900>
probably even needs to get done by the one who introduced <file> to start with, so metacollin on hus mc_ branch, then merge again to master. ***AIUI***
<Joerg-Neo900>
wpwrak: ^^^ comments?
<Joerg-Neo900>
what we learned: NEVER do git add *
<Joerg-Neo900>
i'm tempted to restore backup of the day before that commit
jonsger has quit [Ping timeout: 260 seconds]
Pali has quit [Remote host closed the connection]
cc___ has quit [Ping timeout: 246 seconds]
jkepler has quit [Ping timeout: 240 seconds]
pagurus has quit [Ping timeout: 240 seconds]
pagurus has joined #neo900
ravelo has quit [Quit: Connection closed for inactivity]
<Joerg-Neo900>
git is like doctor curing a disease of patient: you got 200 options in remedies / medicaments. Chances to pick the right one are up to Murphy, and when you picked the wrong one your chances to find the right cure for that wrong medicament's effects are ... let's say they are low
<atk>
hahaha
<atk>
I would rather say it's like a very complicated bomb if you're not a bomb defusal expert
<atk>
you have 1 way of defusing it and 199 ways of blowing it up