Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
Is there a simple way in git to have standing differences between two branches? Eg. if I want to have a release branch with a bunch of dummy config files, and a regular working branch with fleshed-out versions of those same config files, and be able to merge poo poo from the working branch to release without overwriting the release branch's config files or using cherry-pick instead of merging.

Adbot
ADBOT LOVES YOU

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
Chlamydia: syphilis done right

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

ToxicFrog posted:

The problem he refers to is not with the editor, but with git itself. It's possible to get into a situation where the following happens:

- you check out a commit
- git fucks up with the CRLF conversion somewhere
- now git thinks all your files are modified because the line endings differ
- you can't switch branches or anything because git thinks everything is modified even though it isn't

Personally, I haven't observed this behaviour recently, but then, I haven't used git on windows recently either.

You can't git stash away the (non)changes?

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
This is why we use git add then git commit rather than just git commit -a btw

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

ColdPie posted:

See alias in git-config(1). Here's some I use day-to-day:
pre:
[alias]
    cfix = commit -a --amend
    rebi = rebase --interactive
    rebc = rebase --continue
    cp = cherry-pick -x
    rebo = rebase origin
    bg = bisect good
    bb = bisect bad


You can also use tab completion for most git commands

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
My coworker and I are switching to Git for our current project (I had been using it for my part for a while, he hasn't been using version control but wants to start). What's the easiest way for us to share a repo? We're on windows 7 and both of our workstations are on one intranet; I have a Debian VM on my workstation as well in case that turns out to be the easier route.

I'd like to avoid going through an external site (eg. Github) not so much due to cost but rather because there would hoops to get such a thing approved for 'security' reasons.

I'd also like to host it from my machine or my coworker's if possible, again not for any technical reason but rather because putting it on some third machine involves dealing with our outsourced IT and would take a month and they'd probably try to force us to use SourceSafe somehow.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
We may be setting up integrated issue tracking & version control from scratch at work in the near future. Is there anywhere I should look that has a comparison of externally hosted systems for this (github, bitbucket, etc), and general reading I should do on this topic? For background I've used a mix of svn and git for personal stuff for years now, and a coworker has worked with cvs and perforce before at previous jobs, but neither of us has done much with bugtrackers and we have zero process in place at this time.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
So we had a meeting yesterday where it was eventually decided that we'd be allowed(!) to continue using git in development engineering so long as we also checked major versions into MS Visual SourceShredder for production & QC to have. Everybody wins :unsmith:

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
The IDE that I and my coworker are using for a project contains a schematic-like binary file in each project. How can I get Git to always cause a merge conflict on this file if both branches in the merge have changed it?

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
I do one per project and it works fine.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

rotor posted:

on topic: git still sucks, svn still rules, suck it linus

I have come around to agree with the third clause of this, he's become a megaprick on mailing lists

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
By recently I mean the last five years or so. He wasn't nearly as bile-filled when he was arguing with Tannenbaum in Ye Olden Dayes as he was when he got into the argument that led to Alan Cox quitting the first time and that was what, four years ago?

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Deus Rex posted:

unless you're pulling some True Detective "time is a circle" bullshit here.

Horseshit, time is a cube

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
git question: when are the checksums normally calculated for files on a bare repository, and is there any way to force a remote to recalculate its checksums? I ask this because my coworker just experienced a bizarre problem with a versioned file - he pulled one of my feature branches, and got errors when he tried to recompile and link the code to our bootloader image. I did a copy of the hex file for the bootloader from my desktop to his, and git doesn't show the file as changed, but now it links without issues. It makes me wonder if the file got corrupted on the remote while the checksum of the uncorrupted version got retained.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

GrumpyDoctor posted:

code:
Welcome to Git (version 1.8.3-preview20130601)


Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.

Me@COMPUTER ~
$ cd Documents/

Me@COMPUTER ~/Documents
$ mkdir test

Me@COMPUTER ~/Documents
$ cd test

Me@COMPUTER ~/Documents/test
$ git init
Initialized empty Git repository in c:/Users/Me/Documents/test/.git/

Me@COMPUTER ~/Documents/test (master)
$ git branch

Me@COMPUTER ~/Documents/test (master)
$ git checkout -b testbranch
Switched to a new branch 'testbranch'

Me@COMPUTER ~/Documents/test (testbranch)
$ git branch

Me@COMPUTER ~/Documents/test (testbranch)
$ git checkout -b master
Switched to a new branch 'master'

Me@COMPUTER ~/Documents/test (master)
$ git branch

Cody@AERIAL ~/Documents/test (master)
$
what in the goddamn

You've got a repo with no commits, it acts weird like that. If you add a file and make a commit things will work the way you expect them to. I'm running a newer build of msysgit than you are, 1.9.0 rather than 1.8.3. Not sure if the latest msysgit build (1.9.5 ) or the latest source release (2.2.1) still behave this way.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
I *expect* that more recent versions still do that though, as the semantics of branches in a tree with no nodes make no sense.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
To further illustrate Git's special "initial commit" state, when there are no commits in the tree:

code:
Welcome to Git (version 1.9.0-preview20140217)


Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest
$ git status
fatal: Not a git repository (or any of the parent directories): .git

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest
$ git init
Initialized empty Git repository in c:/Users/blotto.skorzany/Desktop/gittest/.git/


blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (master)
$ git status
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (master)
$ git branch

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (master)
$ touch foo.txt

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (master)
$ git add foo.txt

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (master)
$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   foo.txt


blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (master)
$ git branch

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (master)
$ git checkout -b foo
Switched to a new branch 'foo'

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (foo)
$ git branch

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (foo)
$ git status
On branch foo

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   foo.txt


blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (foo)
$ git commit -m "beginning of repo"
[foo (root-commit) 16018b8] beginning of repo
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 foo.txt

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (foo)
$ git status
On branch foo
nothing to commit, working directory clean

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (foo)
$ git branch
* foo

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (foo)
$ git checkout -b bar
Switched to a new branch 'bar'

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (bar)
$ git branch
* bar
  foo

blotto.skorzany@STRENG7X321BSKO /C/Users/blotto.skorzany/Desktop/gittest (bar)
$

Note the "initial commit" state noted in the output of git-status when there is no root commit, and how committing that root commit is specially noted in git-commit.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

chippy posted:

Hmm. Is this one command or two seperate ones?

Trying to run it as one got me this:

code:
The token '&&' is not a valid statement separator in this version.
At line:1 char:40
+ git reflog expire --expire=now --all && <<<<  git gc --prune=now --aggressive
    + CategoryInfo          : ParserError: (&&:String) [], ParentContainsError
   RecordException
    + FullyQualifiedErrorId : InvalidEndOfLine
And running it as two seperate commands, both did something but also spat out 'bad ref for refs/heads/release", and I still can't create release/xxxx branches.

Are you running Git in powershell or something?

Adbot
ADBOT LOVES YOU

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
Or run git in git-bash which it ships with :q:

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply