News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Growing a new branch

Started by llm, December 03, 2021, 08:18:41 AM

Previous topic - Next topic

llm

did you already used the #ifdef define/conditional assembling stuff for these changes?
and are you a git crack now? :)

Daniel3D

Well I managed to do something yesterday.
But connecting software to bitbucket is troublesome..
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

Quote from: Daniel3D on December 03, 2021, 08:57:06 AM
Well I managed to do something yesterday.
But connecting software to bitbucket is troublesome..

then just commit locally, that keeps a clear track of the changes - pushing can be done anytime in the future

Daniel3D

Quote from: llm on December 03, 2021, 09:16:04 AM
Quote from: Daniel3D on December 03, 2021, 08:57:06 AM
Well I managed to do something yesterday.
But connecting software to bitbucket is troublesome..

then just commit locally, that keeps a clear track of the changes - pushing can be done anytime in the future
I can't connect to the repository online, so I can't commit anything. I'll try different software later.
I have a copy of the git. But no working git manager..
Just don't understand them I guess...
I'll try again later.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

Quote from: Daniel3D on December 03, 2021, 09:32:10 AM
I can't connect to the repository online, so I can't commit anything. I'll try different software later.
I have a copy of the git. But no working git manager..
Just don't understand them I guess...
I'll try again later.

commit is a local store, push is a remote store (you can't push but you can commit)

Quote from: Daniel3D on December 03, 2021, 09:32:10 AM
I have a copy of the git. But no working git manager..

there no need for a "git manager"? - whatever that is

Quote from: Daniel3D on December 03, 2021, 09:32:10 AM
Just don't understand them I guess...
I'll try again later.

take your time :)

Daniel3D

Quotethere no need for a "git manager"? - whatever that is
Well I can't work with command line interfaces. So I need some visual interface.
But finding one that I understand but is not packed with unnecessary features is not as easy as I thought it would be.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

Quote from: Daniel3D on December 03, 2021, 11:30:31 AM
Quotethere no need for a "git manager"? - whatever that is
Well I can't work with command line interfaces. So I need some visual interface.

im also not using the cmd very often (<1% of my git time)
so your "git manager" is the "visual interface", ok

Quote from: Daniel3D on December 03, 2021, 11:30:31 AM
Quotethere no need for a "git manager"? - whatever that is
But finding one that I understand but is not packed with unnecessary features is not as easy as I thought it would be.

you can't know, based on your git knowledge, what "unnecessary features" are :)

git-cola: https://git-cola.github.io/
is a very small tiny frontend

Daniel3D

#7
Quote from: llm on December 03, 2021, 11:48:38 AM
git-cola: https://git-cola.github.io/
is a very small tiny frontend
Couldn't figure out how to connect to a repository, said it wasn't a git.   8)

Started GitKraken again.

Still can't find the commit button, but everything else seems to work, so ill try it for a while.

EDIT:
i updated a file and saved it to a new branch.. So that seems to work. 
[could it be that staging is used as term instead of commit?]
Now i will try the tutorials again, maybe they make more sense now  ;D
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Daniel3D

O wait,
i found it.. Bottom right of the screenshot above,
First stage, then write a comment, then commit.. 
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

#9
due to the distributed nature of git - what is a big win for real developers (but not so big for spare-time users like you) the whole process
of bringing a code change into a repo is splitted into 4 parts

1. change the code
2. stage the code you want to commit
3. commit the code
4. push the code (if you want to and if there is a configured remote repo)

the worksflow seems a bit huge but i can tell you that it is a big win

same goes to pulling, fetching etc. variant how to update your repo - only needed if there is a remote repo configure (that is not needed at all)

pull grabs the changes from another repo and tries to merge that into your current work - you should stash(not stage) before (some sort of clipboard) if you
know that there are conflicting changes in the other repo (the other developer told you before, or git is telling you)

fetch just grabs the new content and leave it to you when to integrate that new stuff in you current work (think of pulling the lastes 12000 changes from the linux kernel repo, grab you laptop and go on vacation without network - you then can integrate that stuff a later time - integrating 12000 changes could take hours (or minutes) if there are conflicts you need to solve etc.)

a remote repo could be bitbucket or github, but can also be just another local repo in your (network)file-system (there is no need for a server or over-network stuff - its an option)

so the main git features are:

branching and branch merging
pulling and merging
stashing before merge or just to lift away your changes for a short time
staging for making changes ready to commit
pushing (for updating other remote repos)

but the benefit for a some lines changing 2 man project is not that super-huge - but having a reverseable commit history is always a win - even if some developers don'
t understand that because they only work on trivial 15 line programs :)

im working currently with 12 developers on the same 230.000 lines project - would be very hard to do without version control, or with 43 developers on a 1.000.000 lines project - which is impossible to handle without

its typical for large development to have serveral branches open for feature-development and serveral developers working combined on some of these branches - sometimes in the same files - which produces conflicts on commit/push, but git is helping to prevent any loss and help to keep such projects under control
for example: i've changed 147 files the day before conflicting with 4 other developers work
another example: i've worked for a company with a usa, india and german development department, >150 developers, with a source change push (with 1-30 files) to the main repo every minute from people around the world - its nearly impossible to manage such code evolving without something like git



Daniel3D

Thanks for the explanation. I get the scope of the possibilities a bit now.
In my case I might be the only one updating the git for a while. So it feels a bit clunky but important to save so anyone could join us in this.

Quote1. change the code
2. stage the code you want to commit
3. commit the code
4. push the code (if you want to and if there is a configured remote repo)
That's a good one for me to memorize.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

I've forgotten to do the #ifdef thing. I'll be doing it soon. So far, the changes are very localised, so it should be easy. I only have a doubt. I don't fully understand the code "tree" and I don't know if definitions can exist across modules. If I have to define flags to activate modes on each segment, then somebody who would like to configure this will have to check every one of the segments. Is there a way that I can centralise this, like, a main module and a way to make global definitions?  This way, I could create flags to activate each of the mods and put them all in the same file for easy configuration.
Earth is my country. Science is my religion.

Daniel3D

Quote from: llm on December 03, 2021, 08:18:41 AM
did you already used the #ifdef define/conditional assembling stuff for these changes?
and are you a git crack now? :)
well, i think i'm doing alright now..

https://bitbucket.org/dreadnaut/restunts/commits/branch/SFerrari
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

Quote from: Daniel3D on December 05, 2021, 10:54:33 PM
Quote from: llm on December 03, 2021, 08:18:41 AM
did you already used the #ifdef define/conditional assembling stuff for these changes?
and are you a git crack now? :)
well, i think i'm doing alright now..

https://bitbucket.org/dreadnaut/restunts/commits/branch/SFerrari

can't see any IF/ENDIF :)

llm

Quote from: Cas on December 05, 2021, 06:16:57 PM
I've forgotten to do the #ifdef thing. I'll be doing it soon. So far, the changes are very localised, so it should be easy. I only have a doubt. I don't fully understand the code "tree" and I don't know if definitions can exist across modules. If I have to define flags to activate modes on each segment, then somebody who would like to configure this will have to check every one of the segments. Is there a way that I can centralise this, like, a main module and a way to make global definitions?  This way, I could create flags to activate each of the mods and put them all in the same file for easy configuration.

i think you can add you own configure.inc and add that to the structs.inc or better custom.inc(sadly not always the first include)
or just add the configure.inc to every asm were you need the config (i think you changed some files, not all)