Unix 735

jj (jujutsu) - rev 하나만 squash를 멀찍이 떨어진 rev에다가 하는 방법 + 특정 커밋만 계속 끌어올리는 법

claude가 알려주었다. rev 하나만 다른 rev에다가 squash하는 방법rev4rev3rev2rev1이렇게 커밋들이 있다고 하자. rev4를 rev2에다 squash하고싶다면... git처럼 생각하면 git interactive rebase를 해서 revision들의 순서를 바꾼 다음에 squash를 해야 되었을 것이다. jj는 한큐에 된다.jj rebase --from rev4 --into rev2이게 답이다. 특정 커밋만 계속 끌어올리는 방법 (rebase를 해서 @의 앞에 오게 하는 법)jj에서는 모든 변경사항이 revision이다. git처럼 추적되지 않는 파일은 존재하지 않는다. .gitignore에 넣지 않는 한. 하지만 작업하다보면 remote와 다른 나만의 변경사항은 보존하고 싶은..

Unix 16:32:39

jj, jujutsu, git 대신 쓰기 좋은 버전 관리 시스템 + 내가 쓰는 사용법

jj라는 것이 나왔는데 인기가 좀 생기고 있다고하여 사용해봤다. 이제 그냥 git을 쓰려면 좀 불편하다고 느끼기에 이르렀다. Mercurial등은 git 사용자들과 협업하기 힘든데, jj는 git 위에서 돌아가는 물건이므로 나 혼자 쓰기에도 용이하다. Git branchless는 그렇지 못했는데. 설치: 바이너리 파일 한 개라, 패키지로 제공되지 않는 리눅스 시스템에도 설치가 쉽다. 단점: jujutsu 라고 검색하면 주술회전이 아직 우세하게 결과로 뜨기 때문에 자료 검색을 하기 좀 귀찮다. 1. 상태 보기 / 커밋간 이동하기 | Command | Description | |--------..

Unix 2025.12.31

SMB를 automount 하기 (/etc/fstab + x-systemd 이용)

https://forcecore.tistory.com/1421 와 관련이 깊은 내용이다. 저 글에서처럼 .mount, .automount 파일을 생성하고 해당 유닛을 enable/disable/start 하는게 은근 귀찮은 일이다. /etc/fstab 을 연다. //neddy/cache /cifs/cache-neddy cifs noauto,ro,x-systemd.automount,x-systemd.idle-timeout=60,_netdev,x-systemd.mount-timeout=30,x-systemd.requires=network-online.target,x-systemd.after=network-online.target,nofail,soft,echo_interv..

Unix/Ubuntu 2025.11.06

jujutsu VCS, less 설정

jj help 를 친다든지, 여러 작업을 하면 pager가 작동하는데, 이게 종료되면 화면에서 유용한 정보가 삭제되어서 사용하기 어렵다. 이럴때에는, export LESS="-XFR" 를 하면 된다. bashrc에 넣어두자. https://superuser.com/questions/106637/less-command-clearing-screen-upon-exit-how-to-switch-it-off 한 화면 내에 내용물이 다 나오면 less를 종료하는 flag도 포함되어 있어서 사용이 편하다.

Unix 2025.06.24

byobu/tmux에서 vi처럼 복붙 하기

set-window-option -g mode-keys vi이 옵션을 쓰면 emacs mode가 아닌 vi mode로 커서를 이동시켜서 복붙을 할 수 있어서 좀 더 편하다.C-a [로 scroll back mode를 들어간 이후부터hjkl, bw 등 vim처럼 이동을 하는데,스페이스로 선택 시작엔터로 선택한 것을 복사C-a ] 로 붙여넣기부분은 여전히 동일하다.저 설정을 어디에 넣어야하는가? tmux라면 원래 저게 tmux 설정이니까 명확할 것이고... byobu는 ~/.byobu/xxx.tmux 처럼 자신이 쓰는 전용 설정인 티가 나는 파일 이름으로 필요하다면 새 파일을 하나 만들어서 거기다가 넣어주면 적용이 된다.

Unix 2025.06.13

MongoDb collection migration

Mongodump로 서버1에서 서버2로 콜렉션을 dump -> restore하려면 #!/bin/bashDB=kpiDataCOLL=marketOrderbookSnapshotSRC_URI="..."DEST_URI="..."# dumpmongodump --db=$DB --collection=$COLL --out=dumpd --uri="$SRC_URI"# restoremongorestore --uri="$DEST_URI" --nsInclude=$DB.$COLL ./dumpd 이렇게. 간간히 쓰는데 매번 검색하기 귀찮아서 기록함. 2025-07-20 추가:그런데 다른 db와 다른 collection에 삽입할 거라면 좀 달라져야됨. --nsInclude 대신에,--nsFrom="kpiData.marketOrderb..

Unix 2025.03.25

Jenkins agent from behind firewall

Jenkins agent를 동원해서 jenkins test를 진행하려 한다. Jenkins server에서 SSH로 접속 가능한 곳이면 이야기가 아주 쉽지만 그렇지 않은 경우 조금 복잡함. Jenkins server쪽은 AWS같이 방화벽 뒤의 agent쪽에서 접속이 매우 쉬운 곳이라고 가정.curl -sO https://DOMAIN/jenkins/jnlpJars/agent.jar java -jar agent.jar -url https://DOMAIN/jenkins/ -secret xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -name "jenkins-ci.host" -webSocket -workDir "/home/jenkins-ci/..

Unix 2025.01.22

Python 3.13 컴파일로 설치

컴파일 하는 이유: miniconda로 3.13 버전이 없어서 / 회사 라이센스 문제로 / pyenv도 안 되어서우분투가 너무 낡은 버전이면 pyenv도 안 먹힌다. dependency를 잘 갖추고 컴파일 해야 libssl이 없어서 httpx등 https를 쓰는 모듈들이 작동을 잘 안 한다든지 하는 문제가 없다. 오래된 우분투를 운영하는 것 자체가 고통이다. https://devguide.python.org/getting-started/setup-building/index.html#deps-on-linuxDependency는 dev guide를 읽으면 나온다. 다행히도 노가다하면서 하나씩 알아낼 필요가 없다.이후는 여타 컴파일로 설치하는 프로그램들과 동일하... 지 않다. 우분투가 오래된 버전이면 ope..

Unix/Ubuntu 2025.01.17