archlinux / asp

Arch Build Source Management Tool
MIT License
294 stars 34 forks source link

asp update: '* master' not a valid branch name #7

Closed nfnty closed 10 years ago

nfnty commented 10 years ago

'asp update' returns error message:

==> updating remote 'packages'
==> updating remote 'community'
fatal: '* master' is not a valid branch name
falconindy commented 10 years ago

Works fine here. Sounds like you played with asp's git repo manually.

nfnty commented 10 years ago

I'm probably not using asp properly. I've asp export a package and then added and commit it to the local asp repo manually. Proceeded with editing, adding and commit again. Is asp supposed to only track remote build scripts and the local asp repo be left untouched?

falconindy commented 10 years ago

I'm probably not using asp properly.

Indeed. If you want a repo that can be modified, use 'checkout', not 'export'. This clones a new repo which tracks the single branch from asp's repo. You can modify this repo, make new branches, and pull will fetch new changes after 'asp update' (as long as you don't untrack the package via asp).

Never modify $ASPROOT directly.

nfnty commented 10 years ago

Makes much more sense. Didn't know that $ASPROOT was used for metadata only. Wouldn't it be better to have $ASPROOT default to '$HOME/.local/share/asp'?

Also, on checkout; what's the difference between trunk and repos? Seems like $PACKAGE/repos/***-i686, $PACKAGE/repos/***-x86_64 and $PACKAGE/trunk all contain the same files.

falconindy commented 10 years ago

Wouldn't it be better to have $ASPROOT default to '$HOME/.local/share/asp'?

Well, you're free to relocate it. I didn't feel like hiding deep in some XDG directory since I frequently poke at the git repo while developing.

Also, on checkout; what's the difference between trunk and repos?

trunk is where development takes place. repo directories are what was pushed to the repos. You always want to develop against trunk/*.

nfnty commented 10 years ago

Well, you're free to relocate it. I didn't feel like hiding deep in some XDG directory since I frequently poke at the git repo while developing.

Fair enough. When you say poke, what can be done to it? When does asp commit to the repo?

trunk is where development takes place. repo directories are what was pushed to the repos. You always want to develop against trunk/*.

Then when is repos used in development?

falconindy commented 10 years ago

Fair enough. When you say poke, what can be done to it? When does asp commit to the repo?

Sorry, I meant developing asp, the script, not modifying packages. If I wanted to modify packages, I'd just use my super dev powers and commit to Arch's SVN.

Then when is repos used in development?

For your development? Probably never. The git repo you get is simply a mirror of the SVN layout. I can't modify the layout of it without breaking the ability to pull in new changes.

nfnty commented 10 years ago

Oh, okay. :)

After issuing asp update do all local package repos need to be manually updated?

falconindy commented 10 years ago

asp update only updates what's in $ASPROOT, and it has no knowledge of any repos that you checked out (I can't fathom how you might implement this kind of tracking in a robust manner). It's up to you to pull in updates in the local repos and handle any potential issues in rebasing.

nfnty commented 10 years ago

Makes sense. This is a great tool! Thanks!

falconindy commented 10 years ago

No problem. I should probably document something along the lines of "best practices" for using asp, since these things might not be obvious to the non-Arch developer.