The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for the ‘git’ Category

Reminder to self: make a list of URL suffixes to show branch diagrams of repositories

Posted by jpluimers on 2018/12/18

One of the BitBucket features I like a lot is that in the commit history, you see the branches involved in a nice diagram on the left side of the commits: https://bitbucket.org/pypy/pypy/commits

BitBucket used to be popular to host public repositories, but from a public perspective, they are on the decline for that (they even removed the [once popularbitbucket.org/explore page and [WayBack] will not re-introduce it).

Right now, only major git based hosters still have explore pages:

So it makes sense to see where they provide diagrams of branches, so here are some examples to go from a project to the graph:

–jeroen

Posted in BitBucket, Development, DVCS - Distributed Version Control, git, GitHub, GitLab, Mercurial/Hg, Software Development, Source Code Management | Leave a Comment »

It looks like the PlasticSCM people are building a git-client, but it needs on-line installation and registration

Posted by jpluimers on 2018/12/15

gmaster is an interesting Windows based git client, but you cannot install it off-line, and by default it does not use the external git.exe.

See the below tweets.

–jeroen

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, PlasticSCM, Software Development, Versioning | Leave a Comment »

Protected Branches | GitLab

Posted by jpluimers on 2018/11/26

[WayBack] Protected Branches | GitLab usually are a cool feature, but sometimes they get in the way, for instance when someone having enough rights has pushed credentials or API keys to a repository.

Unlike the picture in the documentation that indicates the default looks like Masters, this is now assigned to the role Maintainers.

Wrong:

Right:

More reading:

–jeroen

 

Posted in Development, DVCS - Distributed Version Control, git, GitLab, Source Code Management | Leave a Comment »

A repository with a hierarchy or modules referencing each other might not be a good idea

Posted by jpluimers on 2018/11/20

When creating a library of libraries where the libraries use parts of the other libraries creates a mess when organised as a repository with subrepositories having other subrepositories.

It might be better to have one big repository containing a suite of functionality. This is why darkThreading became part of darkGlass: [WayBack] Why no git submodules for the libraries it depends on? · Issue #1 · chapmanworld/darkThreading · GitHub:

You might want to maintain that suite as one big versioned repository, with a different means of structuring it than a tree of submodules. That way you can keep the more complex interdependencies between the parts you have now.

Example of the mess: [WayBack] Duplicate submodules with Git – Stack Overflow

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

Where does my git question go? – Programmers Meta Stack Exchange

Posted by jpluimers on 2018/11/20

StackOverflow / StackExchange is growing too large:

You’ve got a question about git. Its not uncommon, lots of people have questions about git. But where should the question be asked?

Source: Where does my git question go? – Programmers Meta Stack Exchange

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, GitHub, Opinions, Pingback, Software Development, Source Code Management, SourceTree, Stackoverflow | Leave a Comment »

When git fails to `fetch all`

Posted by jpluimers on 2018/10/26

“fetch all”

A SourceTree fetch all actually comes down to this:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch --tags origin

Despite being such a big command-line, it sometimes doesn’t find new remote branches and you end up with a situation like this:

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management, SourceTree | Leave a Comment »

git 2.19.1 on Windows: NullReferenceException during https pull/push/fetch

Posted by jpluimers on 2018/10/19

When using git 2.19.1 on Windows, you will likely get a NullReferenceException during pull/push/fetch operations on https connections.

Easiest workaround is to downgrade to 2.19.0: [WayBack] git pull fatal: NullReferenceException encountered. On an local instance of Bitbucket · Issue #1868 · git-for-windows/git · GitHub

I am seeing the same thing using 2.19.1 against our internal Bitbucket server. Reverting back to 2.19.0 the problem no longer occurs.

Harder workaround is to install the Git Credential Manager 1.18.1: [WayBack] git pull fatal: NullReferenceException encountered. On an local instance of Bitbucket · Issue #1868 · git-for-windows/git · GitHub.

[WayBack] Release Git Credential Manager for Windows v1.18.1 · Microsoft/Git-Credential-Manager-for-Windows · GitHub

Bug Fixes:

  • Fixes Null Reference exceptions when parameters or contentType are not populated

To install the Git Credential Manager, download and double-click the GCMW-1.18.1.exe installer. It is that easy, it will even install Git for Windows 2.17.0 and the Microsoft .Net Framework for you if necessary.

Hopefully that one will integrated in a minor update to git for Windows soon: [WayBack] git pull fatal: NullReferenceException encountered. On an local instance of Bitbucket · Issue #1868 · git-for-windows/git · GitHub

moderately soon, hopefully, there will be a minor version release of Git for Windows that will include the updated GCM v1.18.1. [just need more volunteer time for the PR and tests ;-)
That should eliminate the `Fatal: NullReferenceException” but appears not to fix the #1874https://github.com/git-for-windows/git/issues/1874 delays. (still to hear from the OP if the issue is definitely the AV, or something elese)

If you really dare, you can try the nightly snapshot which already includes GCMW-1.18.1: [WayBack] git pull fatal: NullReferenceException encountered. On an local instance of Bitbucket · Issue #1868 · git-for-windows/git · GitHub

the next official Git for Windows version will have a new Git Credential Manager version. Also, the current snapshot at https://wingit.blob.core.windows.net/files/index.html should have it already.

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

Conference idea: re-do my git based version control session with a good set of examples and screenshots backing it

Posted by jpluimers on 2018/09/27

An interesting thread that starts as a gitlab / Delphi IDE integration question, resulting into a nice discussion of tooling to use: [Archive.is] Are there any videos (not written stuff, but actual videos) that show how you’d set up and use the built-in versioning in Tokyo IDE with a gitlab repo? … – David Schwartz – Google+

If I find time, I will try to re-work my git conference session to be much more practical.

–jeroen

Posted in Conference Topics, Conferences, Development, DVCS - Distributed Version Control, Event, git, GitHub, GitLab, Software Development, Source Code Management | Leave a Comment »

SVN Git Mirror – cloning SVN into git and keeping them in sync

Posted by jpluimers on 2018/09/20

Based on

More references and ideas:

jeroen

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Subversion/SVN | Leave a Comment »

The Plastic equivalent of .gitignore is ignore.conf

Posted by jpluimers on 2018/07/26

A while ago, I landed a place using Plastic SCM, so I had to adopt some idiom from the git world.

The [WayBack] .gitignore equivalent in Pastic SCM is ignore.conf. Here are some links to documentation on it:

There is another file with a similar, but deceptively different name and behaviour: hidden_changes.conf. There ignore.conf ignores changes, hidden_changes.conf completely hides them. I am still not sure what subtleties are involved in the difference between “ignore” and “hide”, as the documentation is confusing and hidden_changes.conf can also appear in the root of a repository:

hidden_changes.conf Contains the paths of the controlled files to hide from the Pending changes view. The hidden changes are controlled items that can be changed but the user doesn’t want them to appear by default on the Pending changes view.

This config file is located in the plastic4 directory (under $HOME/.plastic4 on Linux/Mac systems or C:\Users\user\AppData\Local\plastic4 on Windows), in the root directory of the workspace, or in the plastic-global-config repository so that all clients have the same settings by default.

Learn about how to configure the hidden changes list.

ignore.conf Contains the paths of the private files to be ignored in the Pending changes view. The ignored files are files that you have no intention of placing under source control.

This config file is placed at the root directory of the workspace, or in the plastic-global-config repository so that all clients have the same settings by default.

Learn about how to configure the ignored list.

These configuration files are supported:

Important: These are the files that can be globally configured:

So I based mine on Tortoise SVN Global Ignore Pattern for Delphi and Visual Studio containing at least these:

*.identcache
*.local
*.dcu
*.rsm
*.bak
*.~*
*.tvsconfig
__history
__recovery
ModelSupport_*

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, PlasticSCM, Software Development, Source Code Management | Leave a Comment »