Giter VIP home page Giter VIP logo

Comments (5)

sangwoo-joh avatar sangwoo-joh commented on September 23, 2024

참고) 지금 서브모듈 목록

  • d2codingfont
  • powerline (for font)
  • emacs/emacs-doom-themes
  • emacs/yasnippet-snippets

from dotfiles.

sangwoo-joh avatar sangwoo-joh commented on September 23, 2024

subtree안에 또 subtree가 있으면 어떻게 되지?

from dotfiles.

sangwoo-joh avatar sangwoo-joh commented on September 23, 2024

좀 써본 결과

submodule

서브 모듈은 심볼릭 링크랑 비슷하다. clone하면 안에 저장소를 가리키는 링크만 남아있고 실제 코드를 쓰려면 직접 커맨드로 가져와야 한다.

subtree

서브 트리는 그냥 복사하는 것과 비슷하다. clone하면 안에 코드가 쌩으로 다 들어있다.


둘다 커밋을 따로 싱크해줘야 하는 건 비슷하다. 차이점은 서브 모듈은 심볼릭 링크이다 보니 커밋 해시까지 같은데, 서브 트리는 카피한거다 보니 커밋 내용은 같아도 해시는 다르다.

좀 고민해본 결과

  • 서브 모듈: 서브 모듈로 담은 프로젝트를 직접 활발하게 개발할 때 유용하다. 서브 모듈을 담고 있는 부모 프로젝트에서는 서브 모듈이 업데이트 될 때마다 최신 커밋을 땡겨와서 싱크해줘야 한다.
  • 서브 트리: 서브 트리 프로젝트를 직접 개발하지 않고 서브 트리를 담고 있는 부모 프로젝트에서 서브 트리에 있는 프로젝트 코드까지 전부 개발할 때 유용한 것 같다. 다만 서브 트리마다 리모트가 있어야되고, 부모 프로젝트에서 서브 트리 내용을 수정한 다음 서브 트리에 내용을 반영하려면 직접 서브 트리 export를 해줘야 한다는 귀찮음이 있다.

그래서 고민해본 결과...

  • dotfiles: font는 서브모듈로 땡기지말고 그냥 직접 다운받아서 (또는 --depth 1로 클론해서) 쓰고 버리는게 좋겠다. 어차피 내가 관리할 게 아니다.
  • emacs: 얘가 문젠데.. 일단 emacs 자체는 따로 관리가 필요해보이기 때문에 프로젝트를 분리하고 싶다. 고민 되는 건 안에 있는 emacs-doom-themes랑 yasnippet-snippets 인데, 이걸 서브 모듈로 뺄지 서브 트리로 할지가 고민된다.

from dotfiles.

sangwoo-joh avatar sangwoo-joh commented on September 23, 2024

범용성을 위해서 OCaml 설치 스크립트의 위대한 꿈은 버려야할 것 같다.
그렇다고 쉘 스크립트로 짰다간 디버깅하다가 기능 구현을 다 놓칠 것이다.
따라서 그냥 파이썬으로 간다. 단 아무런 패키지 설치 없는 바닐라 파이썬으로만 구현해야 한다. 따라서 옵션은 argparser, 그외 갖은 작업은 그냥 쌩 subprocess로 날리자.
argparser 에도 서브 커맨드가 있으니 이걸 활용하자.

from dotfiles.

sangwoo-joh avatar sangwoo-joh commented on September 23, 2024

커맨드 목록

  • config 파일 설정 (심볼릭 링크)
    • git, nvim, tmux, zsh,
  • 패키지 설치 (리눅스/다윈)
  • 파이썬, Pipenv (brew/pip) + python 3.10+
  • OCaml & Opam
  • Rust & Cargo
  • 폰트 설치

from dotfiles.

Related Issues (5)

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.