mboost-dp1

Quilt fjernelse af fil fra patch. HOW?


Gå til bund
Gravatar #1 - Qw_freak
29. aug. 2012 06:24
Hey, jeg er begyndt at bruge quilt til at holde styr på mine ændringer i kernen, og i den forbindelse kom jeg til at tilføje en fil jeg ikke arbejder i til in patch.

Hvordan fjerner jeg filen fra min patch igen.

- filen er en testfil som jeg ikke skal have med i mit færdige projekt.

**Note
quilt remove /folder/fil.c virker ikke med den nyeste quilt version...
Gravatar #2 - Qw_freak
29. aug. 2012 06:36
med nyeste mener jeg V0.48
Gravatar #3 - Skum
2. sep. 2012 14:53
Kan du ikke bare slette filen fra din patch fil? Altså slette linierne med din favourite text editor?
Gravatar #4 - Qw_freak
2. sep. 2012 17:44
Skum (3) skrev:
Kan du ikke bare slette filen fra din patch fil? Altså slette linierne med din favourite text editor?


jo, det kan jeg, men så vidt jeg ved, vil den stadig lave en diff på den uønskede fil ved næste refresh..
Gravatar #5 - kasperd
2. sep. 2012 22:12
Qw_freak (4) skrev:
så vidt jeg ved, vil den stadig lave en diff på den uønskede fil ved næste refresh
Vil det sige, at du vil reverte tilføjelsen af filen? Eller ønsker du at beholde filen i dit lokale træ og bare have versionsstyringen til at ignorere den?
Gravatar #6 - Qw_freak
3. sep. 2012 11:58
kasperd (5) skrev:
Qw_freak (4) skrev:
så vidt jeg ved, vil den stadig lave en diff på den uønskede fil ved næste refresh
Vil det sige, at du vil reverte tilføjelsen af filen? Eller ønsker du at beholde filen i dit lokale træ og bare have versionsstyringen til at ignorere den?


Det vil sige at jeg vil have filen ud af min patch, da filen ikke kommer til at eksistere i det endelige træ.
Gravatar #7 - Tukanfan
4. sep. 2012 19:11
Hvad er use casen for Quilt når man også har Git? Kan man ikke bare lave en feature branch og så dele sine commits op i logiske dele?
Gravatar #8 - Qw_freak
4. sep. 2012 19:25
Tukanfan (7) skrev:
Hvad er use casen for Quilt når man også har Git? Kan man ikke bare lave en feature branch og så dele sine commits op i logiske dele?


Jeg bruger open embedded til at udvikle i, og laver mine ændringer i kernen fra temp folderen, og når så ændringerne er lavet samler jeg dem ind med quilt, så de kan lægges på i forbindelse med et bitbake.

Men dit forslag lyder meget interresant, hvordan fungerer det?
Gravatar #9 - Skum
4. sep. 2012 20:13
Det smarte ved git er at holde styr på den overordnede kodebase. quilt bruger du så i dit compilermiljø når du vil lave platformspecifikke patches, som du som udgangspunkt ikke vil have som en del af applikationens kodebase...

I ptxdist, der er noget a la openembedded, vil man ofte have nogle generelle pakker af en art, et eksempel fra det virkelige liv kan være thrift. For at kunne compile det til visse ARM processorer kræves det at der patches et par filer pist og hist so crosscompilingen ikke går i smadder. Der bruges quilt til at arbejde i mappen hvor programmet compiles af ptxdist til at lave patches uden at den originale kode ændres (altså det gør den self. efter patchingen, men det foregår udenfor den originale pakke). Hvis du så har flere forskellige projekter kan de alle basere sig på den samme pakke, mens hvert projekt indeholder individuelle patches til at holde styr på crosscompilingen...

Det er bare ét usecase. Du vil sådanset godt kunne gøre det med git også men vil så have to branches i kodebasen du vil skulle holde styr på. Dvs. ændringer som slet ikke vil påvirkes af patches'ne, som i disse tilfælde ofte er makefiles og lidt, skal cherry-pickes rundt eller hvad man nu foretrækker...
Gravatar #10 - Tukanfan
4. sep. 2012 20:25
#9 Okay, men ville det ikke også være muligt at gøre det samme med git, f.eks.
git checkout -b arm_customisations

# Rette nogle filer hist og her
git commit (disse to kan gentages et par gange)

git format-patch master

Så har man en patch-serie med de commits der udgør tilpasningerne.
Hvis der så sker ændringer i kodebasen, burde det så ikke bare være muligt at gøre:

git checkout arm_customisations
git rebase master
git format-patch master

?
Gravatar #11 - Tukanfan
4. sep. 2012 20:35
# 8 & 9
Ps. jeg udvikler ikke selv så meget, så søger lidt selv at finde et godt workflow også.
Gravatar #12 - Skum
5. sep. 2012 05:13
#10/11 Nu skal det siges jeg ikke er certificeret 100m mester i git, men bruger det dog en del til hverdag.
Du bruger sådanset git som patchværktøjet i dit eksempel, og det vil sådanset også virke bortset fra at du her går ud fra det hele er lokalt på udviklerens maskine. Din arm_customizations branch vil konstant skifte base hvilket vil være et helvede når du skal pushe den op på en form for origin.
Yderligere går du her ud fra at alle pakkerne findes som git repositories. Når du laver et komplet rootfs med det hele i openembedded arbejder man jo med masser af pakker. Ofte bruger du en eller anden tilfældig tar.gz fil med noget kode i. Så ville du selv skulle lave den om til et git rep, før det du foreslår vil virke. git er et versionsstyringsværktøj, quilt styrer patches...
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login