Git Product home page Git Product logo

Comments (4)

dleve123 avatar dleve123 commented on August 19, 2024

@mroth Any thoughts on this issue? This looks like an awesome utility and I would be stoked to help address this.

from scmpuff.

mroth avatar mroth commented on August 19, 2024

It looks like what's happening here is whatever state the repository is in in the middle of the failed rebase generates output that scmpuff fails to parse during branch extraction.

I'm traveling pretty extensive currently, if someone wants to start on this steps would be:

  1. Reliably generate the failing edge case above, and run a git status -z -b within a repo in that status to see what the output scmpuff will be looking at is.
  2. Once that's obtained, you'll probably want to integrate it into the test cases for commands/status/process_test.go, and look at testCasesExtractBranch as a failing test with the expected output.
  3. Fix this in commands/status/process.go (Currently this is regex-based, which is a bit icky, but such is life...)

(If someone is not familiar with Go but wants to get involved, step 1 would be helpful in itself as added info as a comment in this issue!)

from scmpuff.

adamv avatar adamv commented on August 19, 2024

The bug report contains the string the branch is trying to be extracted from: ## HEAD (no branch)

from scmpuff.

bingocaller avatar bingocaller commented on August 19, 2024

I just wanted to chime in and say that I can reproduce this consistently whenever I'm doing a rebase and there's a conflict. As @adamv pointed out it seems scmpuff is choking on this string: ## HEAD (no branch).

I had a look through commands/status/process.go and found the culprit inside the decodeBranchName function.
I tried fiddling around with an updated RegEx and came up with this:

re := regexp.MustCompile(`^## (?:Initial commit on )?(?:(\S+?)(?:\.{3}|$)|(?:HEAD \(no branch\)))`)

This seems to work to the extent that it will either match an actual branch name or this specific string. However, I am by no means a RegEx expert, nor have I ever worked with Go before, so if anyone has a less hard-coded and more robust solution to this problem that would be much preferred.
Also, I haven't been able to actually test this inside scmpuff yet. I can try to pull down the project tomorrow, get it set up and run some tests then.

from scmpuff.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.